Danke für die schnelle Hilfe Jungs, alleine hätte ich es nie geschafft.
Also zunächst mal hab ich ein falsches Vorgehen gehabt, weil ich mit ReadProcessMemory geprüft habe, ob ich noch auf den Prozess zugreifen kann. Das war definitiv falsch, okay, das ganze hab ich natürlich geändert. Nach bisschen stöbern in dem Windows SDK sah ich die Funktion GetExitCodeProcess und hab das ganze damit umgeschrieben. Jetzt überprüfe ich, ob ich auf den Prozess zugreifen kann mit ReadProcessMemory und wenn nicht sicherheitshalber nochmal, ob dieser geschlossen wurde. Also falls GetExitCodeProcess mit STILL_ACTIVE ausspuckt, überprüft er den Prozess weiter.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| function IsProcActive(hProc: Cardinal): Boolean; var exCode: Integer; begin Result := False; GetExitCodeProcess(hProc, exCode); if exCode <> 259 then Result := True; end; |
Das wäre die Funktion und ich hoffe auf gute Zusammenarbeit und zukünftige Hilfe.
MfG Angelo