Change the wallpaper in Delphi

Use SystemParametersInfo procedure with SPI_SETDESCKWALLPAPER value.

procedure TForm1.Button1Click(Sender: TObject);
var
  St: array[0..100] of Char;
begin
  St:='C:\Windows\MyWallPaper.bmp';
  SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, @St, SPIF_SENDCHANGE);
end;