auf (nicht durch user ausgeloeste) fenstererstellung reagieren
-
hi,
ich muss in einem windowsprogramm darauf reagieren, wenn ein fenster mit bestimmtem titel von einer bestimmten anwendung erstellt wird.
ich wollte erst EnumWindows() nutzen und auf den titel pruefen (dieser ist nicht immer genau derselbe), dann alle X sekunden neue liste entsprechender fenster holen und vergleichen, um herauszufinden, welche neu dazugekommen sind.
allerdings muss/darf mein programm nur reagieren, wenn das fenster nicht vom user erstellt wurde, es muss also eine benachrichtigung auf ein nicht vom user initiiertes ereignis sein.
programm bekommt ein signal (uebers netzwerk) -> fenster oeffnet sich -> mein programm muss das mitbekommen und handle zum neu erstellten fenster oder zur not auch nur dessen titel bekommen
hoffe, meiner erklaerung war einigermassen verstaendlich.
ich als eiegtnlich-keine-win-api-nutzer habe nun leider keine ahnung, wie ich mein vorhaben am besten realisiere oder auch nur wonach ich suchen sollte (google, msdn, ...).
hoffe, mir kann hier jemand helfen.
mfg,
julian
-
ok, hat sich erledigt, "aufgabenstellung"/gefordete features wurden geaendert.
(waer trotzdem ineressant, ob und wie sowas moeglich ist, hab was gelesen, dass man mit hooks was anfangen koennte dabei.)
mfg,
julian
-
CBT-Hook (WH_CBT) und prüfen ob nCode == HCBT_CREATEWND ist. Dann zeigt wParam auf eine Struktur, die u.a. das Fensterhandle enthält.
*edit*
Sorry, lParam zeigt dann auf die Struktur, wParam == Fensterhandle.