Pregunta

Estoy trabajando en actualizaciones de una aplicación de captura de pantalla.Estamos utilizando un control ActiveX para extraer pantallas de una computadora central IBM.El programa de mainframe a menudo se bloquea y bloquea el control ActiveX, lo que provoca que nuestra aplicación falle.No tenemos acceso al mainframe ni al código fuente de ActiveX.No vamos a escribir nuestro propio control x activo.

¿Cuál es la mejor manera de encapsular un control ActiveX para detectar que la aplicación se bloquea con el control para que podamos finalizar el proceso y reiniciar con el código?

¿Debo crear 2 aplicaciones separadas?¿Uno como controlador que controla al otro y finaliza/reinicia el proceso cuando se bloquea?

¿Tendrían que estar en dominios de aplicaciones separados?¿Es posible que dos programas se comuniquen entre sí incluso si están en dominios de aplicaciones separados?

¿Fue útil?

Solución

Puede iniciar un ejecutable con System.Diagnostics.Process.Start().Esto devuelve un objeto de proceso con una propiedad de respuesta que puede usar para verificar periódicamente si el proceso aún está activo.

Sin embargo, necesitarás dos aplicaciones independientes para hacer esto.Y la aplicación que está monitoreando necesita tener una ventana principal porque el monitoreo funciona verificando si la aplicación aún procesa mensajes de la cola de mensajes de la ventana principal.Esta es la misma forma en que Windows sabe agregar "No responde" al título de una ventana.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top