Megcsináltam!

(bár kicsit kezdetleges, de működik)
Egy formon elhelyeztem egy image-t és két button-t. Az image-be betöltöttem egy jpg-t.
procedure TForm1.Button1Click(Sender: TObject);
var
pic1: tbitmap;
reg1: tregistry;
ini1: tinifile;
begin
pic1:= tbitmap.Create;
reg1:= tregistry.Create;
ini1:= tinifile.Create('C:\1.ini');
//image1 mentése bmp-be try with pic1 do
begin
assign(image1.Picture.Graphic);
savetofile('C:\1.bmp');
end;
finally
pic1.Free;
end;
//az eredeti háttérkép elérési útjának kiolvasása a registry-ből try with reg1 do
begin
rootkey:= HKEY_CURRENT_USER;
if openkey('\Control Panel\Desktop\',false) then
caption:= readstring('Wallpaper');
end;
finally
reg1.Free;
end;
//az eredeti háttérkép elérési útjának mentése ini-be try with ini1 do
begin
writestring('Orwllp','1',caption);
end;
finally
ini1.Free;
end;
//a fájlba kimentett kép betétele háttérnek, button1 letiltása SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, PChar('C:\1.bmp'), SPIF_SENDWININICHANGE);
button1.Enabled:= false;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
ini2: tinifile;
begin
ini2:= tinifile.Create('C:\1.ini');
//az eredeti háttérkép elérési útjának kiolvasása ini-ből try with ini2 do
begin
caption:= readstring('OrWllp','1','');
end;
finally
ini2.Free
end;
//az eredeti háttérkép visszarakása háttérnek, button1 engedélyezése SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, PChar(caption), SPIF_SENDWININICHANGE);
button1.Enabled:= true;
end;