Entwickler-Ecke
Windows API - schließung eines fensters mitbekommen
nepleurepas - Sa 05.04.08 22:18
Titel: schließung eines fensters mitbekommen
Hallo,
auch auf die gefahr hin gesteinigt zu werden weil es das thema schon tausendmal gab, ich hab grad nur n modem und ewiges suchen damit macht ech kein spass...
also meine frage. Mein programm soll merken, wenn ein Fenster eines anderen, fremden Programmes geschlossen wird.
Nur den Prozess/Thread? zu beobachten dürfte nich reichen, da wenn das fenster des fremden programmes geschlossen wird, öffnet das fremde programm ein neues fenster mit gleichem titel.
Aber ich muss trotzdem mitbekommen, wann dieser "fensterwechel" vonstatten geht. Hoff mal ihr versteht mich.
Gruß Stefan
crncpz - Sa 17.05.08 09:06
ich habe das mal über die PID gemacht gehabt.
war nicht gerade elegant aber funktioniert.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| function processexists(pid:dword):boolean; var h : thandle; pe : tprocessentry32; erg : boolean; begin h := createtoolhelp32snapshot(th32cs_snapprocess,0); pe.dwSize := sizeof(pe); erg:=false; if process32first(h,pe) then repeat if pe.th32ProcessID = pid then begin erg:=true; break end until (not process32next(h,pe))or(erg=true); closehandle(h); processexists:=erg; end; |
zuvor musst du nur noch die PID vom Programm bestimmen.
Wotan89 - Di 20.05.08 14:50
Dies würde doch nur den Wechsel des Prozesses wahrnehmen, aber es geht doch um das Fenster. Wenn ein neues Fenster geöffnet wird, hat dies auch ein Handle (HWND). Mit FindWindow() erhälst du das Handle des Fensters, und sobald sich das Fenster schließt und ein neues gestartet wird, hat das neue Fenster zwar den gleichen Namen, aber ein anderes Handle.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!