terça-feira, 16 de setembro de 2008

Trocando o Papel de Parede do Windows com delphi

Trocando o Papel de Parede do Windows

Para trocar o papel de parede (wallpaper) do Windows via código, use a seguinte procedure:

type
WallPaperFormat = (wpLadoALado, wpCentralizado);

procedure SetWallPaper (Arquivo : String; Formato : WallPaperFormat);
var
Reg : TRegIniFile;
begin
Reg := TRegIniFile.Create ('Control Panel\Desktop');
Reg.WriteString ('', 'Wallpaper', Arquivo);
if Formato = wpLadoALado then
Reg.WriteString ('', 'TileWallpaper', '1');
else
Reg.WriteString ('', 'TileWallpaper', '0');
Reg.Free;
SystemParametersInfo (SPI_SETDESKWALLPAPER, 0, nil,
SPIF_SENDWININICHANGE);
end;

O parâmetro Formato deverá ser wpLadoALado para o papel de parede ficar lado a lado, ou
wpCentralizado para ficar centralizado.

Nenhum comentário: