Olá pessoa hoje vou mostrar como podemos modificar o papel de parede em uma aplicação feita em Delphi, vamos ver como é simples modificar esta opção usando o registro do Windows.
Vamos começar criando uma nova aplicação e salvando a mesma com o nome prjAlterarPapel.dproj. No formulário criado automaticamente pelo nosso Delphi, vamos adicionar na seção uses as unit "Registry" e "WinProcs".
Neste ponto vamos começar a configurar o Layout do nosso formulário, será bem simples apenas para ilustrar a funcionalidade principal, que é modificar o papel de parede. Para isso vamos precisar adicionar um TButton e um TOpenDialog.
Para facilitar a reutilização de código vamos implementar uma procedure chamada Alterar, veja como ficou nossa Unit até este momento:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Registry, WinProcs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
OpenDialog1: TOpenDialog;
private
{ Private declarations }
{Veja nossa procedure criada neste ponto}
procedure Alterar(pImagemBMP: string; pTile: Boolean); public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
end.
Agora com nossa procedure declarada, vamos implementar a mesma, para isso pare o mouse em cima da procedure, ou dentro da Classe TForm1 e pressione CTRL + SHIF + C, logo será implementado automaticamente, e nela vamos declarar o código abaixo :
procedure TForm1.Alterar(pImagemBMP: string; pTile: Boolean);
var
Reg : TRegIniFile;
begin
reg := TRegIniFile.Create('Control Panel\Desktop');
with Reg do
begin
WriteString('', 'Wallpaper', pImagemBMP);
if (pTile) then
WriteString('', 'TileWallpaper', '1')
else
WriteString('', 'TileWallpaper', '0')
end;
Reg.Free;
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, nil, SPIF_SENDWININICHANGE);
end;
Neste momento vamos executar a procedure criada anteriormente, para isso no evento OnClick do TButton, implemente o código para executar a mesma.
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
Alterar(OpenDialog1.FileName, False);
end;
end;
Desta forma finalizo este artigo, espero que tenham gostado, ate a próxima.
Um abraço.