Einzelnen Beitrag anzeigen

HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
805 Beiträge
 
Delphi 6 Professional
 
#19

AW: Wallpaper und Windows 8+

  Alt 13. Okt 2018, 15:16
Hmm..

Angelehnt an
https://github.com/kujason/FindWallp...dWallpaper.vbs

scheint bei nur einem Monitor das Bild in 'TranscodedImageCache' abgespeichert zu sein.

Bei meheren Monitoren wird ein '_XXX' als Index an TranscodedImageCache angehängt (z.B. TranscodedImageCache_000 für Monitor idx 0)
Dort steht in den BIN Daten dann zusätzlich hinter dem Bildnamen noch (meiner Meinung nach) die Device ID des Monitores.

----- Debuggerauszug des WideChar Array -------------------
('?', #1, '?', #8, '?', '', '?', '', '?', '?', '?', 'a', 'C', ':', '\', 'W', 'i', 'n', 'd', 'o', 'w', 's', '\', 'W', 'e', 'b', '\', 'W', 'a', 'l', 'l', 'p', 'a', 'p', 'e', 'r', '\', 'W', 'i', 'n', 'd', 'o', 'w', 's', '\', 'i', 'm', 'g', '0', '.', 'j', 'p', 'g', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '\', '\', '?', '\', 'D', 'I', 'S', 'P', 'L', 'A', 'Y', '#', 'L', 'G', 'D', '0', '4', '6', 'C', '#', '5', '&', '2', '5', 'a', 'f', 'c', 'a', '1', '8', '&', '0', '&', 'U', 'I', 'D', '1', '0', '9', '0', '6', '0', '8', '#', '{', 'e', '6', 'f', '0', '7', 'b', '5', 'f', '-', 'e', 'e', '9', '7', '-', '4', 'a', '9', '0', '-', 'b', '0', '7', '6', '-', '3', '3', 'f', '5', '7', 'b', 'f', '4', 'e', 'a', 'a', '7', '}', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '')


Ach, noch ein Hinweis:
In TranscodedImageCache steht immer das 'letzte' Bild, welches verwendet wurde.
Wird der Hintergrund duch z.B. einfarbigen Hintergrund ersetzt, bleibt der Name in TranscodedImageCache stehen.

Deshalb erst SystemParametersInfo(SPI_GETDESKWALLPAPER.. und wenn dort '..\TranscodedWallpaper' drinnen steht, dann den Originalnamen über TranscodedImageCache auslesen
  Mit Zitat antworten Zitat