Startseite ¦  was ist neu ¦  programmier tips ¦  indy artikel ¦  intraweb artikel ¦  informationen ¦  links ¦  interviews ¦  sonstiges
kylix ¦  tutorials ¦  online shop ¦  fotos ¦  Add&Win Gewinnspiel


Willkommen Gast. Bitte einloggen oder registrieren.
17.05.2012, 02:39:18
Übersicht Hilfe Suche Einloggen Registrieren

+  SwissDelphiCenter Forum
|-+  German Forums
| |-+  Einsteiger Forum
| | |-+  Desktop-Hintergrundbild ändern ?
« vorheriges nächstes »
Seiten: [1] Drucken
Autor Thema: Desktop-Hintergrundbild ändern ?  (Gelesen 1679 mal)
Alfi
Gast
« am: 12.05.2002, 20:42:20 »

Ich weiß das es in der Registry steht,aber ich finds nicht,kann mir jemand helfen ?
Gespeichert
MR321
Sr. Member
****
Offline Offline

Beiträge: 363


« Antworten #1 am: 12.05.2002, 20:52:24 »

Aus den Programmier-Tips:
Zitat
...das Desktop Hintergrundbild wechseln ?  

Autor: Simon Grossenbacher <webmaster@swissdelphicenter.ch>  
Homepage: [a href="http://www.swissdelphicenter.ch" target="_blank"]http://www.swissdelphicenter.ch[/a]

Kategorie: System


1.Way:  

uses  
  Registry, WinProcs;  

procedure SetWallpaper(sWallpaperBMPPath : String; bTile : boolean);  
var  
  reg : TRegIniFile;  
begin  
  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;  
  SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, Nil, SPIF_SENDWININICHANGE);  
end;  

2. Way:  

procedure TForm1.Button1Click(Sender: TObject);  
type a=array [0..255] of char;  
var filename: ^a;  
begin  
 new(filename);  
 strpcopy(filename^,'c:[WinDIR]wall.bmp');  
 dispose(filename);  
 if SystemParametersInfo(SPI_SETDESKWALLPAPER,0,filename,SPIF_SENDCHANGE ) then showmessage('Succesful')  
 else showmessage('something was wrong!');  
end;  



  

printed from
www.swissdelphicenter.ch
developers knowledge base
Gespeichert

Computers are like air conditioners, they stop working immediately, if you open windows.
Alfi
Gast
« Antworten #2 am: 12.05.2002, 20:55:58 »

Danke, aber kann mir jemand sagen wo ich den Pfad inkl Dateiname des bildes angebe ?

Code:

uses

Registry, WinProcs;



procedure SetWallpaper(sWallpaperBMPPath : String; bTile : boolean);

var

reg : TRegIniFile;

begin

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;

SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, Nil, SPIF_SENDWININICHANGE);

end;


Ich sehs jetzt irgendwie nicht so direkt... danke, Alfi
Gespeichert
MR321
Sr. Member
****
Offline Offline

Beiträge: 363


« Antworten #3 am: 12.05.2002, 21:51:36 »

Du musst die Prozedur so wie sie ist in dein Programm aufnehem.
Du kannst sie dann aufrufen mit SetWallpaper(sWallpaperBMPPath, bTile);
Wobei sWallpaperBMPPath die Datei + Pfad darstellt.
Gespeichert

Computers are like air conditioners, they stop working immediately, if you open windows.
Alfi
Gast
« Antworten #4 am: 12.05.2002, 21:55:21 »

Super ! Vielen Dank !!!
Gespeichert
Seiten: [1] Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS