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 SystemParametersInfo richtig verstanden habe, wird (oder kann zumindest) ein Aufruf von WM_SETTINGCHANGE an alle Top-Level-Windows erfolgen. Wäre zumindest ein Ansatz, den man mal verfolgen könnte ;)
|
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 RegNotifyChangeKeyValue überwachen lassen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:18 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