Ich möchte Suspend / Standby-Nachrichten auf meinem Laptop abfangen, aber mein Programm empfängt nicht alle relevanten Nachrichten.
Es gibt einen Fehler in ms-excel unter Windows XP / 2k, der verhindert, dass das System aussetzt, wenn eine Datei auf einem Netzwerk / USB-Laufwerk geöffnet wird.
Ich versuche, es programmatisch zu umgehen (meine Toolbox enthält Python-, Vb6- oder Kommandozeilen-Tools).
Ich weiß nichts über Windows-Instrumentierung: -)
Ich habe ein sysinternals Dienstprogramm, das das System irgendwie aussetzt. Ich möchte es mit dem Close-Lid Event verbinden!
Das Schließen des Notebookdeckels (fujitsu u810) leitet den Standby-Vorgang ein [wie?]
Das System sendet dann alle WM_POWERBROADCAST: PBT_APMQUERYSUSPEND (ich kann sie mit SPYXX.EXE
verfolgen)
Jedes Programm antwortet mit "True", bis Excel "false" antwortet und der gesamte Prozess stoppt.
1) Mein Python-Programm fängt weder pbm_apmquerysuspend noch PBT_APMQUERYSTANDBYFAILED noch PBT_APMQUERYSUSPENDFAILED ab: "...
%Vor%' Es empfängt nur PBT_APMSUSPEND, wenn die Standby-Funktion schließlich ausgeführt wird.
Warum nicht - und wie kann ich es abfangen?
2) Gibt es eine andere Möglichkeit, den Standby-Prozess abzufangen?
In einer Präfektwelt würde ich das Ereignis "close-close" einstellen, um einen Befehl auszuführen, den ich wähle. In einer perfekten Welt ist der Deckelverschluss ein dokumentierter Vorgang.
danke euch allen: -)
Ich habe einen hässlichen Workaround gefunden: Ich schrieb ein AutoIt -Skript, das die Fehlermeldung MessageBox des Excels erkennt, sie schließt und ein sysinternals-Dienstprogramm ausführt, das den Computer in den Standby-Modus versetzt .
%Vor% (Dies ist eine optimierte Version - die ersten Versuche waren CPU-intensiv).
Jetzt sitzt es im System-Tray und funktioniert einfach.
Die Frage zu verlorenen Nachrichten ist noch offen. obwohl ich realisiert habe, dass es nichts mit python zu tun hat.
Tags und Links python windows wmi power-management