2010-07-15 6 views
8

Gibt es eine Möglichkeit, das Fenster meiner Python-Konsolenanwendung in der Windows-Taskleiste zu blinken, um die Aufmerksamkeit eines Benutzers zu erhalten?Gibt es eine Möglichkeit, eine Python-Konsolenanwendung in der Taskleiste von Windows zu flashen?

Mein Skript wird ausschließlich in einer relativ homogenen Windows-Umgebung ausgeführt, daher ist es mir egal, ob eine bestimmte API vorhanden ist oder ob eine Lösung plattformübergreifend ist oder nicht (natürlich plattformübergreifend ist besser) für zukünftige Referenz ... aber ich brauche es nicht für diese Anwendung).

Antwort

6

Das Blinken der Taskleiste in Windows erfolgt mithilfe der API-Funktion FlashWindowEx (Python API help).

Ich habe dies selbst nicht ausprobiert, aber es sollte diese Funktion von Python möglich sein PyWin32 (Python für Windows-Erweiterungen) unter Verwendung aufzurufen, können entweder manuell installiert oder durch ActivePython installieren.

+0

Das hat gut für mich funktioniert, danke! Ich weiß, dass die Taskleiste oft als schlechtes Design angesehen wird, aber meine spezielle Anwendung ist ausschließlich für die Verwendung bei der Arbeit gedacht, und meine Mitarbeiter, die sie verwenden würden, möchten sofort benachrichtigt werden, wenn meine App ihre Daten herunterzieht. –

3

Dies ist die einfachste Lösung, die ich tun konnte:

import ctypes 
ctypes.windll.user32.FlashWindow(ctypes.windll.kernel32.GetConsoleWindow(), True) 
Verwandte Themen