Mostrando postagens com marcador Alterando o papel de parede. Mostrar todas as postagens
Mostrando postagens com marcador Alterando o papel de parede. Mostrar todas as postagens

quarta-feira, 23 de setembro de 2009

Alterando o papel de parede

{Crie uma nova aplicação e adicione ao Form um componente TLabel, TEdit e um TButton. Limpe a propriedade Text do Edit1 e altere a propriedade Caption do Button1 para: "Clique para trocar o papel de parede" e a propriedade Caption do Label1 para: "Digite o caminho completo + o nome da imagem + a extensão".

Declare a procedure PapelDeParede na área de declarações Public da Unit conforme abaixo:}

public
{ Public declarations }
procedure PapelDeParede(bitmap: string);

{Agora copie a procedure na área Implementation:}

procedure TForm1.PapelDeParede(bitmap: string);
var
pBitmap : pchar;
begin
bitmap:=bitmap+#0;
pBitmap:=@bitmap[1];
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, pBitmap, SPIF_UPDATEINIFILE);
end;

{Faça a chamada à procedure PapelDeParede no evento OnClick do Button1 (veja abaixo):}

procedure TForm1.Button1Click(Sender: TObject);
begin
PapelDeParede(Edit1.Text);
end;

{Agora é só executar o aplicativo, mas não se esqueça que só podem ser usadas imagens com extensão BMP. }

sábado, 23 de maio de 2009

Alterando o papel de parede

Program wallpapr;

uses Registry, WinProcs;

procedure SetWallpaper(sWallpaperBMPPath : String; bTile : boolean );
var
reg : TRegIniFile;
begin
// Mudando o Registro HKEY_CURRENT_USER
// Control PanelDesktop
// TileWallpaper (REG_SZ)
// Wallpaper (REG_SZ)
reg := TRegIniFile.Create('Control PanelDesktop' );
with reg do begin
WriteString( '', 'Wallpaper',sWallpaperBMPPath );
if( bTile )then begin
WriteString( '', 'TileWallpaper', '1' );
end else begin
WriteString( '', 'TileWallpaper', '0' );
end;
end;
reg.Free;
// Mostrar que o parametro do sistema foi alterado
SystemParametersInfo( SPI_SETDESKWALLPAPER,0, Nil, SPIF_SENDWININICHANGE );
end;
begin
SetWallpaper( 'c:winntwinnt.bmp', False );
end.