Hi,
ich war eigentlich der Meinung schonmal die Frage gestellt zu haben, aber kann den Thread einfach nicht wieder finden und damals gab es auch keine Antwort.
Mein Problem ist, dass mein schöner WallpaperChanger den Herunterfahr-Vorgang bzw. das Ausloggen verhindert. D.h. alle anderen Programme beenden sich brav, nur meine Software bleibt offen und Windows fährt nicht herunter.
Ich habe mich jetzt stundenlang nach der Ursache durch den Code und fast alle Komponenten gewühlt, konnte aber keinen Fehler finden.
Ich habe ursprünglich die Komponente
TJvTrayIcon, die ich für die Anzeige des
TNA-Icon verwende, verantwortlich dafür machen wollen, aber nachdem ich mehrmals die Komponente deaktiviert habe und es in anderen Anwendungen zu keinen Problemen kommt, scheint diese Komponente nicht der Übeltäter zu sein. Andere 3rd Party-Komponenten verwende ich eigentlich nicht.
Also dachte ich, dass ich irgendwo vergessen habe, auf Nachrichten zu reagieren, aber ich fange in meinem Hauptformular nur die
WM_DROPFILES-Nachricht ab. An anderer Stelle habe ich mir aber ein
Handle erzeugt und eine dazugehörige WndProc geschrieben:
Delphi-Quellcode:
procedure THotkeyItem.MsgProc(var msg: TMessage);
begin
// Nachrichtenschleifen
if msg.Msg = WM_HOTKEY then
if Assigned(FOnHotkey) then
fOnHotKey(self, self.Name)
else
DefWindowProc(FHandle, msg.Msg, msg.WParam, msg.LParam);
end;
Eigentlich sollte die doch alles wichtige, durch das
DefWindowProc abdecken, oder nicht?
Ich bin gerne bereit weitere Teile des Source zu posten, aber mir fällt jetzt nichts weiter ein, an welchen Stellen es liegen könnte. Liegt es möglicherweise doch an der
WndProc der
JvTrayIcon-Komponente?
Irgendjemand eine gute Idee?
Chris