Einzelnen Beitrag anzeigen

Illuminator-23-5
(Gast)

n/a Beiträge
 
#2

Re: Desktop Hintergrund manipulieren

  Alt 26. Aug 2003, 07:58
Über dem Windows-Desktop liegt eine ListView-Komponente. Du benötigst also einfach ein Handle auf diese ListView:
Delphi-Quellcode:
function GetDesktopListViewHandle: THandle;
var S: String;
begin
  Result := FindWindow('ProgMan', nil);
  Result := GetWindow(Result, GW_CHILD);
  Result := GetWindow(Result, GW_CHILD);
  SetLength(S, 40);
  GetClassName(Result, PChar(S), 39);
  if PChar(S)<>'SysListView32then Result := 0;
end;
so kriegst du das handle, auf dem der Desktop gezeichnet wird.
Welche nachricht verwendet wird, um das hintergrundbild zu zeichnen, weiß ich nicht.
Wenn du aber das hintergrundbild änern willst, dürfte folgendes gehen:
Delphi-Quellcode:
procedure SetWallpaper(sWallpaperBMPPath: String; bTile : boolean);
begin
  if not SystemParametersInfo(SPI_SETDESKWALLPAPER, 0,
  Pointer(sWallpaperBMPPath), SPIF_SENDWININICHANGE) then
    ShowMessage('Konnte Datei '+sWallpaperBMPPath+#13+' nicht als Desktop-Hintergrund setzen!');
end;
Ich hoffe, Es is was dabei, das dir weiterhilft!
  Mit Zitat antworten Zitat