Entwickler-Ecke
Windows API - Abgestürztes Programm beenden
Der Michel - Di 11.03.03 12:37
Titel: Abgestürztes Programm beenden
Hallo,
habe gesehen daß es in der User32.dll eine Funktion namens 'IsHungAppWindow' gibt, mit der man feststellen kann ob ein Programm (genauer gesagt: ein Fenster) abgestürzt ist. Die Funktion liefert dann TRUE zurück, wenn seit 5 Sekunden keine Messages mehr abgeholt wurden.
Wenn dies nun der Fall ist, wie kann ich das abgestürzte Programm dann beenden?
Gruß,
Der Michel
toms - Di 11.03.03 12:57
mit TerminateProcess()
Der Michel - Di 11.03.03 13:33
Klingt einleuchtend. :D
Kann ich, da ich ja den Fenster-Handle hab, damit auch irgendwie den Process-Handle ermitteln, oder muß ich Process32First(...) und so verwenden?
Gruß,
Der Michel
Motzi - Di 11.03.03 14:21
Du benötigst ein Process-Handle mit PROCESS_TERMINATE Zugriff (bekommst du mit OpenProcess). Die ProcessID für den Prozess zu dem das Fenster gehört bekommst du mit GetWindowThreadProcessID. Um jedoch ein gültiges Process-Handle für ein abgestürztes Service zu bekommen brauchst du noch das Debug-Privilege aktiviert.
Der Michel - Di 11.03.03 14:52
Hat funktioniert. :D
Besten Dank.
Gruß,
Der Michel
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 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!