Fenster in Taskleiste blinken lassen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
lordmyder

Hallo,
ich schreibe grade an einem Chat, und jetzt will ich, wie das alle IM-Tools vormachen, dass ein Minimierter Chat in der Taskleiste anfängt zu blinken, wenn eine Nachricht angekommen ist. Kann mir jemand sagen, wie ich das anstellen kann?
Danke schon mal
LordMyder
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

lordmyder hat geschrieben:Taskleiste anfängt zu blinken
Hi LordMyder!

Unter Windows mit "pywin32".

``win32gui.FlashWindow``
``win32gui.FlashWindowEx``

Plattformunabhängiger geht es mit wxPython --> mit der Methode ``RequestUserAttention``.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
mq
User
Beiträge: 124
Registriert: Samstag 1. Januar 2005, 19:14

Etwas mehr Infos waeren hilfreich. Z.B. auf welcher Plattform (Windows, X11, ...) und mit welchem Toolkit das laufen soll.
lordmyder

danke Gerold, genau das habe ich gesucht !! Aber noch eine Frage:
Wie bekomme ich denn jetzt ein Tkinter Fenster-Handle??
Danke !
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

lordmyder hat geschrieben:danke Gerold, genau das habe ich gesucht !! Aber noch eine Frage:
Wie bekomme ich denn jetzt ein Tkinter Fenster-Handle??
Danke !
Hallo lordmyder!

Du könntest z.B. nach dem Text in der Titelleiste suchen:

Code: Alles auswählen

>>> import win32ui
>>> hwnd = win32ui.FindWindow(None, r"Das deutsche Python-Forum :: Thema anzeigen - Fenster in Taskleiste blinken lassen - Mozilla Firefox").GetSafeHwnd()
>>> hwnd
3802818
>>> import win32gui
>>> import win32con
>>> win32gui.FlashWindowEx(hwnd, win32con.FLASHW_ALL, 3, 0)
False
>>>
Wenn der Text nicht eindeutig genug ist, dann setze ihn vorher auf einen eindeutigen Text. Danach kannst du ihn ja wieder umsetzen.

Ob es dafür auch eine Eingebaute Funktion in Tkinter gibt, kann ich dir nicht sagen.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
lordmyder

Danke vielmals !! Hat alles geklappt !
Antworten