Frage

Ich stellt fest, eine Anwendung behandeln, wenn ich die Shell-Funktion verwenden, um es zu öffnen. Ich benutze dann diesen Griff später die Anwendung zu schließen. Allerdings kann der Benutzer schließen, dass auch andere Anwendung selbst. Kann das Handle dann durch Fenster wieder verwendet werden, so dass, wenn ich diesen Griff verwende ich einen anderen Prozess zu schließen. Wenn es möglich ist, ist es wahrscheinlich?

War es hilfreich?

Lösung

Nein, Sie müssen nicht darum kümmern. Der Griff zurück von, sagen wir, Open, ShellExecuteEx () oder Createprocess hält den Prozess lebendig widersprechen. Das ist, wie es möglich ist, GetExitCodeProcess () aufrufen, den Exit-Code abzurufen, nachdem der Prozess beendet wird.

Das Objekt erhält nicht, bis der letzte Griff es freigegeben wird geschlossen. Gegenüber der früheren Beratung in diesem Thread gegeben, ist es sehr wichtig, dass Sie Closehandle () aufrufen, oder Sie werden ein Leck haben.

Andere Tipps

Sie können sich auf einen Prozess handle warten, um herauszufinden, wenn es verlassen wird.

WaitForSingleObject (hProcess, INFINITE);

Sobald diese gibt, wissen Sie, der Prozess beendet wird, und Sie müssen nicht um es zu schließen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top