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

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

Устанавливаем свой WallPaper для Windows [Win95/98, WinME]


Oleg Shashin ©   (2002-04-20 03:40:00) 

в факу есть на эту тему кусок кода, который по моим наблюдениям работает только под НТ, вопрос : почему не работает под 9Х?

program wallpapr;uses Registry, WinProcs;procedure SetWallpaper(sWallpaperBMPPath : String; bTile : boolean );var reg : TRegIniFile;begin// Изменяем ключи реестра// HKEY_CURRENT_USER// Control Panel\Desktop// TileWallpaper (REG_SZ)// Wallpaper (REG_SZ) reg := TRegIniFile.Create("Control Panel\Desktop" ); with reg do begin WriteString( "", "Wallpaper", sWallpaperBMPPath ); if( bTile )then begin WriteString("", "TileWallpaper", "1" ); end else begin WriteString("", "TileWallpaper", "0" ); end; end; reg.Free;// Оповещаем всех о том, что мы // изменили системные настройкиSystemParametersInfo(SPI_SETDESKWALLPAPER, 0, Nil, SPIF_SENDWININICHANGE );end;begin // пример установки WallPaper по центру рабочего стола SetWallpaper("c:\winnt\winnt.bmp", False );end.

тут фишка в чем: под нт обой сразу меняется, а под 9х - только перезагрузки, имхо дело в
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, Nil, SPIF_SENDWININICHANGE )
а может еще в чем, кто сталкивался?


Oleg Shashin   (2002-04-22 02:19:00) [1]

спасибо, попробую,
хотя уже постиг причину,
дело было не в бобине а в активной директории, или как оно там называется, там где ставится галочка "отображать веб-содержимое на столе", когда она поставлена SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, Nil, SPIF_SENDWININICHANGE )
работает только после перезагрузки, то есть не работает вовсе, ибо после перезагрузки настройки реестра и сами вступят в силу


Donal_Graeme   (2002-04-20 18:39:00) [2]

к своему ответу в той ветке добавлю:

var WP: Array [0..255] of Char;

StrPCopy (WP, PathToPicture);

Картинка должна быть BMP.
Никаких операций с реестром я не производил :-)


Song   (2002-04-20 09:25:00) [3]

http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1019033210&n=2


Наверх

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