Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Bildschirmhintergrund auf separaten Desktops (https://www.delphipraxis.net/177751-bildschirmhintergrund-auf-separaten-desktops.html)

CCRDude 25. Nov 2013 16:43

Bildschirmhintergrund auf separaten Desktops
 
Bis Windows 7 verwende ich folgenden Einzeiler, um das Hintergrundbild nach einem erfolgreichen CreateDesktop/SetThreadDesktop/SwitchDesktop zu ändern:
Delphi-Quellcode:
function SetDesktopWallpaper(AFilename: string): boolean;
begin
   Result := SystemParametersInfoW(SPI_SETDESKWALLPAPER, 0, Pointer(PWideChar(WideString(AFilename))), SPIF_SENDCHANGE);
end;
Ab Windows 8 ist das Hintergrundbild des alternativen Desktops leider schlicht blau, stattdessen wird das Hintergrundbild des nicht mehr angezeigten Desktops geändert.

Und auch -1 zum Zurücksetzen scheint nicht mehr zu klappen, der temporäre Schirm bleibt bestehen:
Delphi-Quellcode:
function RevertDesktopWallpaper: boolean;
begin
   Result := SystemParametersInfoW(SPI_SETDESKWALLPAPER, 0, PWideChar(-1), SPIF_SENDCHANGE);
end;
Darus resultierend nun meine Frage: welche Alternativen Möglichkeiten, das Bildschirmhintergrundbild (temporär) zu verändern (bzw. das eines neues Desktops erstmalig zu setzen) gibt es noch?

CCRDude 30. Apr 2014 10:31

AW: Bildschirmhintergrund auf separaten Desktops
 
Ich pushe das nochmal vorsichtig nach oben, da ich das jetzt auch von einem Windows 7-Nutzer gehört habe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz