1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
procedure TForm1.ChangeWallpaper( Image: string; DisplayStyle : string;
sTile : string);
var
reg : TRegistry;
FileFormat : string[4];
FichierBMP : string;
begin
FileFormat := AnsiUpperCase (ExtractFileExt(Image));
if ((FileFormat = '.JPG') Or (FileFormat = '.JPE')) then
begin
SetLength (FichierBMP,101);
GetWindowsDirectory (PChar(FichierBMP), 100);
FichierBMP := string (PChar(FichierBMP));
FichierBMP := FichierBMP + '\MyWallpaper.bmp';
ConvertJPG2BMP (Image, FichierBMP); //ici je change mon format
reg := TRegistry.Create ;
reg.RootKey := HKEY_CURRENT_USER;
with reg do
begin
try
if OpenKey ('\Control Panel\Desktop', false) then
begin
WriteString ('Wallpaper',FichierBMP);
WriteString ('WallpaperStyle',DisplayStyle);
WriteString ('TileWallpaper', sTile);
end;
finally
reg.Free;
end;
end;
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, pChar(FichierBMP), SPIF_UPDATEINIFILE or SPIF_SENDCHANGE);
end
else
if FileFormat = '.BMP' then
begin
reg := TRegistry.Create ;
reg.RootKey := HKEY_CURRENT_USER;
with reg do
begin
try
if OpenKey ('\Control Panel\Desktop', false) then
begin
WriteString ('Wallpaper',Image);
WriteString ('WallpaperStyle',DisplayStyle);
WriteString ('TileWallpaper', sTile);
end;
finally
reg.Free;
end;
end;
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, pChar(Image),SPIF_UPDATEINIFILE or SPIF_SENDCHANGE);
end;
end; |
Partager