Frage

Ich verwende VB.NET für eine Web-Anwendung, die einen Prozess mit Create beginnt, wie folgt aus:

Dim AVObject = CreateObject("avwin.application")

Nachdem alles getan ist alles geschlossen Runter en mit den richtigen Freigabefunktionen gestoppt, aber aus irgendeinem Grund der Prozess bleibt.

Gibt es eine Möglichkeit, in der ich die Prozess-ID des gestarteten Prozess zu bekommen, um es explizit zu töten kurz vor Beendigung?

Danke

War es hilfreich?

Lösung

ich komme nie über eine spezifische Lösung für dieses Problem, aber logisch werde ich eine Abhilfe mit unter Pseudo-Logik erstellen (ich glaube, es sollte in einer kontrollierten Umgebung arbeiten)

  • Wickeln Sie die Create in etwa CustomCreateObject (...)
  • Bei dem Verfahren implementiert unten in der gleichen Reihenfolge
  • Anruf System.Diagnostics.Process.GetProcessesByName (nameOfYourProcess), speichert alle Prozess-IDs
  • Rufen Sie Create (...)
  • Anruf GetProcessesByName wieder und jetzt die neue Liste des Prozesses erhält ids
  • Prozess-ID, die in der späteren Liste und nicht in der ersten, wird derjenige sein, der Sie nach. Zurück, die so dass die Anrufer wissen die Prozess-ID zu überwachen.

Andere Tipps

  

Nachdem alles getan ist alles geschlossen Runter en mit den richtigen Freigabefunktionen gestoppt, aber aus irgendeinem Grund der Prozess bleibt.

Haben Sie eine GC zu erzwingen versucht oder den Namen

scroll top