Pregunta

Estoy trabajando en la aplicación (C # 2.0). He implementado única instancia en ella. Todo esta bien. Si corro de nuevo la aplicación, se muestra cuadro de mensaje diciendo "instancia ya está en marcha".

En realidad no quiero que muestre el mensaje a través de mensaje.

Quiero mostrar este mensaje usando la punta del globo ya se está ejecutando instancia (que tiene el icono en la bandeja del sistema de comunicación).

¿Cómo puedo lograr esto?

Gracias de antemano.

¿Fue útil?

Solución

Se necesita una forma de comunicación entre procesos , para indicar a la otra instancia que debe mostrar el cuadro de mensaje.

En este caso, se puede dar un paso más que decir la instancia existente para mostrar el mensaje, y en lugar de decirle a él para restaurar su ventana principal (es decir, "unminimise").

Otros consejos

Se puede usar un servicio WCF dentro de ti aplicación.

Su segunda aplicación se conecta a él a través de NetPipe, invode un método y se cierra.

Su primera aplicación para recibir la llamada y pops-up del globo de notificación

La forma más fácil de implementar una única instancia e informar a la primera, si un segundo se inicia ya está en práctica en .Net. Basta con echar un vistazo a los siguientes enlaces:

Hanselman: de instancia única WinForms

OpenWinForms (seleccione True aplicación de instancia única)

El CodeFluent Runtime que es conjunto de herramientas gratuitas proporciona un clase SingleInstance para implementar una aplicación de instancia única:

Usted acaba de anular la WndProc método para pops-up de su notificación (punta Globo).

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