Mega Code Archive
Change windows wallpaper from your program
Many programs including major Internet browsers lets you change the Windows wallpaper. Here's how you can add similar functionality to your program:
program wallpapr;
uses
Registry, WinProcs;
procedure SetWallpaper(
sWallpaperBMPPath : String;
bTile : boolean );
var
reg : TRegIniFile;
begin
//
// change registry
//
// HKEY_CURRENT_USER
// Control PanelDesktop
// TileWallpaper (REG_SZ)
// Wallpaper (REG_SZ)
//
reg := TRegIniFile.Create(
'Control PanelDesktop' );
with reg do
begin
WriteString( '', 'Wallpaper',
sWallpaperBMPPath );
if( bTile )then
begin
WriteString(
'', 'TileWallpaper', '1' );
end else
begin
WriteString(
'', 'TileWallpaper', '0' );
end;
end;
reg.Free;
//
// let everyone know that we changed
// a system parameter
//
SystemParametersInfo(
SPI_SETDESKWALLPAPER,
0,
Nil,
SPIF_SENDWININICHANGE );
end;
begin
//
// set wallpaper to centered winnt.bmp
//
SetWallpaper(
'c:winntwinnt.bmp',
False );
end.