Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Обои [D7, Win95/98, Win2k]


_alex_ ©   (2005-08-16 11:38:00) 

Как поменять обои на рабочем столе с помощью Delphi без перезагрузки компьютера? Заранее спасибо.


NightLord   (2005-08-16 19:37:00) [1]

Первый способ:
var str:TFileName;
   reg : TRegIniFile;

reg := TRegIniFile.Create('Control Panel\Desktop' );
 with reg do begin
   WriteString( '', 'Wallpaper',
     str );
   WriteString('', 'TileWallpaper', '0' );
 end;
 reg.Free;
 SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, Nil, SPIF_SENDWININICHANGE );

Второй способ:
 SystemParametersInfo(SPI_SETDESKWALLPAPER,0,
PChar('C:\SOMEPATH\SOME.BMP'),SPIF_SENDWININICHANGE);

Проблемы: Эти два способа работают без перезагрузки, но после использования некоторых игр обои исчезают (т.е. нет их), Прервый способ хоть и длиней ног в 85% случаев обои остаются, а после второго в 50%!!! Вот, решать тебе, я выбрал первый =)


_alex_   (2005-08-16 17:13:00) [2]

Здесь смена происходит только после перезагрузки. а надо чтобы без перезагрузки


KA_   (2005-08-16 14:25:00) [3]

Пять способов:

http://delphiworld.narod.ru/base/change_wallpaper.html
http://delphiworld.narod.ru/base/change_wallpaper2.html
http://delphiworld.narod.ru/base/change_wallpaper3.html
http://delphiworld.narod.ru/base/change_wallpaper4.html
http://delphiworld.narod.ru/base/change_wallpaper5.html


Наверх

Титульная страница Поиск, карта сайта Написать письмо