słabo szukałeś:
uses
Registry, WinProcs;
...
procedure SetWallaper(sNewWallpaper: string; bTile: Boolean);
begin
with TRegistry.Create do
try
OpenKey('Control PanelDesktop', True);
WriteString('Wallpaper', sNewWallpaper);
if bTile then
WriteString('TileWallpaper', '1')
else
WriteString('TileWallpaper', '0');
CloseKey;
finally
Free;
end;
{ Let Windows know that we changed a system parameter }
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, PChar(sNewWallpaper), SPIF_SENDWININICHANGE);
end;
a potem musisz fprocedure wykorzystać poprzez:
SetWallpaper('C:Windowssetup.bmp', False);
działa niby też z jpg i gif jak było napisane :
http://www.delphifaq.net/how-to-change-the-desktop-wallpaper/