![]() |
Wie Wallpaper wechsel mitbekommen ?
Hi,
wie kann man mitbekommen ob sich der Desktop-Wallpaper geändert hat ? |
Re: Wie Wallpaper wechsel mitbekommen ?
Meinst du jetzt Message? Der Pfad ist in der Registry und ist einfach zu ermitteln. Also ob es dafür eine Message gibt, weiß ich nicht, aber alle paar Sekunden den Pfad vergleichen wäre die einfachste Methoden.
HKEY_CURRENT_USER\Control Panel\Desktop\ >> Wallpaper |
Re: Wie Wallpaper wechsel mitbekommen ?
Nur ein Gedanke: wenn ich den Artikel zu
![]() |
Re: Wie Wallpaper wechsel mitbekommen ?
Delphi-Quellcode:
private
procedure WMSettingChange(var Msg : TMessage); message WM_SETTINGCHANGE; end; implementation procedure TForm1.WMSettingChange(var Msg : TMessage); begin if Msg.WParam = SPI_SETDESKWALLPAPER then Caption := 'Das Desktop-Wallpaper hat sich geändert!'; end; |
Re: Wie Wallpaper wechsel mitbekommen ?
Zitat:
Man(n) wird alt... Zitat:
Hm, es funktioniert. Ich hatte zwei andere Varianten die das selbe Prinzip hatten aber nicht funktionierten. |
Re: Wie Wallpaper wechsel mitbekommen ?
// Edit:
Es funktiomiert nicht. Jeden falls unter Win XP.
Code:
[color=#000080][b]procedure[/b][/color] TForm1.WMSettingChange([color=#000080][b]var[/b][/color] Msg : TMessage);
[color=#000080][b]begin[/b][/color] [color=#ff0000] if Msg.WParam = SPI_SETDESKWALLPAPER then[/color][color=#008000] // Breakpoint[/color] GetActiveDesktopWallpaper; [color=#000080][b]end[/b];[/color] Hier kommt unter XP SP2/SP3 als Msg.WParam der Wert Null. Mit Vista SP2 und Windows 7 ist dieser Wert wie erwartet gleich SPI_SETDESKWALLPAPER also 20. |
Re: Wie Wallpaper wechsel mitbekommen ?
Im Zweifelsfall könntest Du immer noch den von Popov genannten Registry Schlüssel mit Hilfe von
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz