Как программно заменить обои на рабочем столе
|
Дилетантские разговоры о компьютерах вызывают резкую тошноту влоть до приступов рвоты. Вопрос о том как поменять "обои" в Windows вызывает желание перерезать горло вопрошающему.
|
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);
//Эту строчку надо написать где-то в программе.
|
|