Как программно заменить обои на рабочем столе? III
Igor Nikolaev aKa The Sprite советует:
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; // пример установки WallPaper по центру рабочего стола SetWallpaper('c:\winnt\winnt.bmp', False ); //Эту строчку надо написать где-то в программе. |
[001409]