如何改变桌面背景的图象要即刻生效的(100分)

  • 主题发起人 主题发起人 红色闪电
  • 开始时间 开始时间
uses
Registry;

procedure ChangeWallpaper(bitmap: string); {bitmap contains filename: *.bmp}

var pBitmap : pchar;

begin
bitmap:=bitmap+#0;
pBitmap:=@bitmap[1];
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, pBitmap, SPIF_UPDATEINIFILE);
end;


procedure TForm1.Button1Click(Sender: TObject);
var
Ini: TregIniFile;
res: boolean;
begin
if OpenPictureDialog1.Execute then
begin
Ini := TRegIniFile.Create('Control Panel');
Ini.WriteString('desktop', 'Wallpaper', '');//OpenPictureDialog1.FileName);
Ini.WriteString('desktop', 'TileWallpaper', '1'); Ini.Free;
res := SystemParametersInfo(SPI_SETDESKWALLPAPER,0,nil,SPIF_SENDWININICHANGE);
end;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
Temp: PChar;
begin
Temp:='C:/aaa.bmp';
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, Temp, SPIF_SENDWININICHANGE)
end;
 
多人接受答案了。
 
后退
顶部