2008-09-18 20 views
18

Esto ha sido un problema que no he podido resolver alguna vez. La prevención de la segunda instancia es trivial y tiene muchos métodos, sin embargo, recuperar el proceso que ya se está ejecutando no lo es. Me gustaría:Volver a una aplicación ya abierta cuando un usuario intenta abrir una nueva instancia

  • Minimizado: Deshaga el minimizar y lleve la instancia en ejecución al frente.
  • Detrás de otras ventanas: lleve la aplicación al frente.

El lenguaje en el que estoy usando esto es VB.NET y C#.

+0

¿Te importaría agregar una o dos etiquetas para saber cuál es el contexto? Supongo que estás usando Microsoft Windows, pero no sé qué idioma estás usando. –

Respuesta

1

Estos enlace puede ser de ayuda:

http://www.ai.uga.edu/mc/SingleInstance.html

Tiene código para detectar otra instancia en ejecución, no está seguro de lo que puede hacer con ella una vez que tienes la instancia sin embargo.

7

Si está utilizando .NET, esto parece más fácil y más sencillo el uso de construir-en la funcionalidad .NET:

The Weekly Source Code 31- Single Instance WinForms and Microsoft.VisualBasic.dll

+0

+1: un enfoque mucho más limpio que utiliza el ensamblado Microsoft.VisualBasic en lugar de todo el contenido de API de Win32 en la respuesta aceptada. También le permite pasar argumentos de línea de comandos a la instancia en ejecución, una bonificación agradable. –

Cuestiones relacionadas