A lo mejor la pregunta es un poco básica pero la verdad es que no sé como hacerlo, cómo puedo conseguir que sólo haya una instancia abierta de mi aplicación? vamos, que sólo pueda haber una abierta.
Saludos y gracias

| |||
Prevenir el inicio múltiple de una aplicación Hola a tod@s! A lo mejor la pregunta es un poco básica pero la verdad es que no sé como hacerlo, cómo puedo conseguir que sólo haya una instancia abierta de mi aplicación? vamos, que sólo pueda haber una abierta. Saludos y gracias ![]() |
| |||
Tal vez esto te pueda ayudar.... Private Shared Function PrevInstance() As Boolean If UBound(Diagnostics.Process.GetProcessesByName(Diag nostics.Process.GetCurrentProcess.ProcessName)) > 0 Then Return True Else Return False End If End Function
__________________ Si puedes pensarlo, puedes hacerlo. |
| |||
Singleton La solución a este clásico problema lo da el patrón Singleton ... te mando un link con la implementación de esta patrón en VB.NET con formularios MDI. http://www.mundoprogramacion.com/col...ulariosMDI.htm Saludos cordiales.
__________________ langdotnet |
| |||
Cómo mi aplicación es de un sólo formulario, no es mdi, he intentado utilizar el código de rcorichard, poniendo lo siguiente:
Código:
Y lo "gracioso" es que sí que entra en el Application.Exit() pero no termina la ejecución de programa!!! ?¿?¿?¿? por que? no se puede usar en el evento load?Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load If UBound(Diagnostics.Process.GetProcessesByName(Diagnostics.Process.GetCurrentProcess.ProcessName)) > 0 Then Application.Exit() End If End Sub Gracias y saludos ![]() |