PyQt, SystemTrayIcon und Windows-Abmeldung/Shutdown
Verfasst: Mittwoch 14. Januar 2009, 15:13
Hallo alle zusammen,
ich habe ein GUI-Programm unter Verwendung von PyQt geschrieben. Das Programm läuft im SystemTray unter Windows 2000/XP/Vista.
Ich nutze "app.setQuitOnLastWindowClosed(False)" da die Anwendung nicht beendet werden soll, wenn das Hauptfenster geschlossen wird.
Nun habe ich das Problem, dass das Programm noch Aktionen ausführen soll, wenn ein Nutzer sich abmeldet, bzw. den Rechner herunterfährt.
Da kein aktives Fenster zum Zeitpunkt des Abmeldens/Herunterfahrens geöffnet ist (da SystemTray) schaffe ich es nicht eine Funktion oder Methode auszuführen, bevor sich das Programm beendet.
Folgende Dinge habe ich probiert:
1. atexit.register(MethodeA)
2. SetConsoleCtrlHandler (MethodeB, True)
3. MainWindow.connect(MainWindow, QtCore.SIGNAL('aboutToQuit()'), MethodeC)
4. signal.signal(signal.SIGBREAK, MethodeD)
Auch stundenlanges Googlen nach möglichen Problemlösungen hat nicht geholfen.
Ich bin Pyhtonnewbee und wäre für jede Hilfe dankbar.
Viele Grüße
Bastian
ich habe ein GUI-Programm unter Verwendung von PyQt geschrieben. Das Programm läuft im SystemTray unter Windows 2000/XP/Vista.
Ich nutze "app.setQuitOnLastWindowClosed(False)" da die Anwendung nicht beendet werden soll, wenn das Hauptfenster geschlossen wird.
Nun habe ich das Problem, dass das Programm noch Aktionen ausführen soll, wenn ein Nutzer sich abmeldet, bzw. den Rechner herunterfährt.
Da kein aktives Fenster zum Zeitpunkt des Abmeldens/Herunterfahrens geöffnet ist (da SystemTray) schaffe ich es nicht eine Funktion oder Methode auszuführen, bevor sich das Programm beendet.
Folgende Dinge habe ich probiert:
1. atexit.register(MethodeA)
2. SetConsoleCtrlHandler (MethodeB, True)
3. MainWindow.connect(MainWindow, QtCore.SIGNAL('aboutToQuit()'), MethodeC)
4. signal.signal(signal.SIGBREAK, MethodeD)
Auch stundenlanges Googlen nach möglichen Problemlösungen hat nicht geholfen.
Ich bin Pyhtonnewbee und wäre für jede Hilfe dankbar.
Viele Grüße
Bastian