Na pierwsz nie znam odp.
A na drugie pochodzi FAQ
var
S : string;
begin
S := 'c:\windows\bąbelki.bmp';
SystemParametersInfo(SPI_SETDESKWALLPAPER,0, PChar(s), SPIF_UPDATEINIFILE or SPIF_SENDWININICHANGE);
end;
Działa to jedynie dla plików bmp.
Jeżeli chcesz ustawić sąsiadująco, rozciągnięte lub wyośrodkowane to musisz w rejestrze zmienić wpisy w kluczu: HKEY_CURRENT_USER\Control Panel\Desktop
Odpowiednie wartości:
-
Do środka:
TileWallpaper := 0
WallpaperStyle := 0
-
Sąsiadująco:
TileWallpaper := 1
WallpaperStyle := 0
-
Rozciągnięte:
TileWallpaper := 0
WallpaperStyle := 2