JPG na pulpicie

0

Jak za pomącą polecenia:
SystemParametersInfo(SPI_SETDESKWALLPAPER,0,PChar(nazwa.pliku),SPIF_SENDCHANGE)
lub jakiegoś innego utawić tapetę z jotpega, gifa itp bo osługuje tylko bmp.
Normalnie trzeba włączyć Active Desktop, ale jak to zrobić z Delphi?

0

Active Desktop włącza się wymuszając go w rejestrze (To nie jest reguła, ale za pomocą Delphi jest tak najszybciej i najwygodniej).

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Desktop\General

Masz tam wartośc Wallpaper

Teraz wystarczy napisać w delphi procedurkę :P

0

lepiej moim zdaniem byłoby konwertować na bmp i dopiero ustawiać tapetę bo jakby mi jakiś program ustawił Active Desktop to bym chyba zamordował :) (teraz mam XP to to mnie nie dotyczy, ale na innych kompach mam ME).

0

lepiej moim zdaniem byłoby konwertować na bmp

A co jeśli masz animowanego gifa ? A takie też da sie ustawic na tapete :) .

0

"Pobawić" się interfejsem IActiveDesktop

0

Ja bym to zrobił tak:

procedure SetWallPaper(filename:string);
var
 JPEG:TJpegImage;
 Gif:TGifImage;
 Bmp:TBitmap;
 ext:string;
begin
Bmp:=TBitmap.Create;
ext:=ExtractFileName(filename);

if ((ext='.jpg')or(ext='.jpeg')) then
 begin
  Jpeg:=TJpegImage.Create;
  Jpeg.LoadFromFile(filename);
  Bmp.Assign(Jpeg);
  Jpeg.Free;
 end
else if ext='.gif' then
 begin
  Gif:=TGifImage.Create;
  Gif.LoadFromFile(filename);
  Bmp.Assign(Gif);
  Gif.Free;
 end
else if ext='.bmp' then
 begin
  Bmp.LoadFromFile(filename);
 end;

SystemParametersInf(...
end;

No i to by było na tyle ;)

0

Thanx za ort!. Kombinowania było od cho... (dużo), ale już działa. Dzięki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1