Frage

Ich arbeite an Upgrades auf einen Bildschirm Schaben Anwendung. Wir verwenden ein ActiveX-Steuerelement Bildschirme zu kratzen aus einem IBM Mainframe. Das Mainframe-Programm hängt oft und stürzt das ActiveX-Steuerelement verursacht unsere Anwendung zum Absturz bringen. Wir haben keinen Zugriff auf den Mainframe oder den ActiveX-Quellcode. Wir sind nicht unsere eigene aktive x Steuerung geht zu schreiben.

Was ist die Bast Art und Weise ein ActiveX-Steuerelement zu kapseln Anwendung zu erfassen, mit der Steuerung hängt, so können wir den Prozess beenden und mit dem Code neu starten?

Soll ich 2 separate Anwendungen erstellen? Ein als Controller, der auf der anderen Seite überprüft und tötet / startet den Prozess, wenn es hängt?

Müssten sie auf separaten Anwendungsdomänen sein? Ist es möglich, zwei Programme miteinander kommunizieren, auch wenn sie auf separaten Anwendungsdomänen sind?

War es hilfreich?

Lösung

Sie können eine ausführbare Datei mit System.Diagnostics.Process.Start starten (). Dies gibt ein Prozessobjekt mit einer Reaktion Eigenschaft, die Sie in regelmäßigen Abständen überprüfen können, ob der Prozess noch aktiv ist.

Sie müssen zwei separate Anwendungen dies aber tun. Und die Anwendung, die Sie muss die Überwachung eines Hauptfenster haben, weil die Überwachung funktioniert, indem geprüft wird, ob die Anwendung noch Nachrichten verarbeitet aus dem Hauptfenster Message. Dies ist die gleiche Art und Weise Fenster weiß, hinzufügen zu einem Fenster-Titel „Reagiert nicht“

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