L'application de détection se bloque avec les contrôles ActiveX dans .Net

StackOverflow https://stackoverflow.com/questions/59622

  •  09-06-2019
  •  | 
  •  

Question

Je travaille sur la mise à niveau d'une application de grattage d'écran.Nous utilisons un contrôle ActiveX pour supprimer les écrans d'un mainframe IBM.Le programme mainframe se bloque et plante souvent le contrôle ActiveX, provoquant le crash de notre application.Nous n'avons pas accès au mainframe ou au code source ActiveX.Nous n’allons pas écrire notre propre contrôle x actif.

Quelle est la meilleure façon d'encapsuler un contrôle ActiveX pour détecter les blocages d'application avec le contrôle afin que nous puissions tuer le processus et redémarrer avec le code ?

Dois-je créer 2 applications distinctes ?L'un en tant que contrôleur qui vérifie l'autre et tue/redémarre le processus lorsqu'il se bloque ?

Devraient-ils se trouver sur des domaines d’application distincts ?Est-il possible que deux programmes communiquent entre eux même s'ils se trouvent sur des domaines d'application distincts ?

Était-ce utile?

La solution

Vous pouvez démarrer un exécutable avec System.Diagnostics.Process.Start().Cela renvoie un objet Process avec une propriété Responding que vous pouvez utiliser pour vérifier périodiquement si le processus est toujours actif.

Vous aurez cependant besoin de deux applications distinctes pour ce faire.Et l'application que vous surveillez doit disposer d'une fenêtre principale, car la surveillance fonctionne en vérifiant si l'application traite toujours les messages de la file d'attente de messages de la fenêtre principale.C'est de la même manière que Windows sait ajouter "Ne répond pas" au titre d'une fenêtre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top