www.domaci.de Forum Indeks Home
Portal • Forum • Novi upisi • Pretraga • Link do nas • Domaći filmovi • Lista korisnika • Tim sajta • Proverite privatne poruke • Prijava • Registracija
Pravilnik • FAQ • Profil • Favorites • Galerija slika • Top lista • Download MP3 • MP3 razno • Spotovi • Noviteti 2013 • Muzički noviteti 2014

Delphi: Promena Wallpaper-a
Upišite novu temu   Odgovorite na temu    www.domaci.de Forum Indeks -> ~ Programiranje ~
::  
Autor Poruka
Doktor
~Sanjicino*slculence~
~Sanjicino*slculence~



Godine: 38

Datum registracije: 17 Nov 2005
Poruke: 4264
Mesto: Novi Sad

blank.gif
PorukaPostavljena: Pon Jan 30, 2006 12:01 am    Naslov poruke: Delphi: Promena Wallpaper-a Na vrh strane Na dno strane

Postoji više načina da bi se promenila pozadina desktopa direktno iz koda.

I nacin:
Code:

uses
  Registry;

procedure SetWallpaper(sWallPaperBMPPath: string; bTile: Boolean);
var
  reg: TRegIniFile;
begin
  reg := TRegIniFile.Create('Control Panel\Desktop');
  try
    with reg do
    begin
      WriteString('', 'Wallpaper', sWallPaperBMPPath);
      WriteString('', 'TileWallpaper', IntToStr(Ord(bTile)));
    end;
  finally
    reg.Free;
  end;
  SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, nil, SPIF_SENDWININICHANGE);
end;


II način:
Code:

procedure TForm1.Button1Click(Sender: TObject);
var
  sWallPaperBMPPath: string;
begin
  sWallPaperBMPPath := 'C:\[WinDIR]\wall.bmp';
  if not SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, Pointer(sWallPaperBMPPath),
    SPIF_SENDWININICHANGE) then
    ShowMessage('Succesful.')
  else
    ShowMessage('Failed!');
end;


III način – Postavljanje pozadine Aktivnog Desktopa

Morate znati da korišćenje SystemParametersInfo za promenu pozadine kada je uključen ActiveDesktop NEĆE raditi. Razlog je što morate koristiti IactiveDestopCOM interfejs. Korišćenje SystemParametersInfo u načelu će raditi i u ovom slučaju ali bez efekta. Problem je samo što će ignorisati vaš zahtev za promenu slike u pozadini. Ovaj kod zahteva Internet Explorer 4.0 ili noviji.

Code:

uses
  ShlObj, ComObj;


function ChangeWallpaper(aFile: String): Boolean;
const
  CLSID_ActiveDesktop: TGUID = '{75048700-EF1F-11D0-9888-006097DEACF9}';
var
  hObj: IUnknown;
  ADesktop: IActiveDesktop;
  str: string;
  wstr: PWideChar;
begin
  hObj     := CreateComObject(CLSID_ActiveDesktop);
  ADesktop := hObj as IActiveDesktop;
  wstr := AllocMem(MAX_PATH);
  try
    StringToWideChar(aFile, wstr, MAX_PATH);
    ADesktop.SetWallpaper(wstr, 0);
    ADesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
  finally
    FreeMem(wstr);
  end;
end;



_________________
~*~Vojim svoje srculence najvise na svetu ~*~ :322:

 
Prikaz poruka:   
Upišite novu temu   Odgovorite na temu    www.domaci.de Forum Indeks -> ~ Programiranje ~ -> Delphi: Promena Wallpaper-a Vreme je podešeno za GMT + 1 sat
Strana 1 od 1

 
Pređite u:  
Vi ne možete otvarati nove teme u ovom forumu
Vi ne možete odgovarati na teme u ovom forumu
Vi ne možete menjati Vaše poruke u ovom forumu
Vi ne možete brisati Vaše poruke u ovom forumu
Vi ne možete glasati u anketama u ovom forumu
Vi ne možete postavljati fajlove u ovom forumu
Vi ne možete preuzeti fajlove sa ovog foruma





- Burek Forum - Doček Nove 2018. godine - Venčanja, svadbe - Proslave - TipoTravel - Kuda večeras - Anwalt - legal -

Bookmark to: Twitter Bookmark to: Facebook Bookmark to: Digg Bookmark to: Del.icio.us Bookmark to: StumbleUpon