Autor |
Mensaje |
Ricardo Prieto
Ricardo Prieto
Programador
Registrado: Septiembre 2015
Mensajes: 109
Edad: 47 Ubicación: ARGENTINA
|
Saber Si Existe Una Instancia Previa En Ejecución
Hola chicos. Quisiera saber si me pueden ayudar, me gustaria saber como hago para saber si existe un instancia previa de mi programa para que no se abra 2 veces o darle la opción de que el usuario decida si quiere abrir otra instancia..?
|
#1 Domingo, 24 Abril 2016, 19:33 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Saber Si Existe Una Instancia Previa En Ejecución
......para que no se abra 2 veces...
De este asunto se habló tambien en el foro italiano:
http://www.gambas-it.org/smf/index.php?topic=2056
|
#2 Domingo, 24 Abril 2016, 21:31 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Saber Si Existe Una Instancia Previa En Ejecución
Vuott +1
=================== No podemos regresar
|
#3 Domingo, 24 Abril 2016, 21:36 |
|
|
Ricardo Prieto
Ricardo Prieto
Programador
Registrado: Septiembre 2015
Mensajes: 109
Edad: 47 Ubicación: ARGENTINA
|
Re: Saber Si Existe Una Instancia Previa En Ejecución
Gracas por el aporte voutt..
Les dejo un ejemplo.
Function VerificarInstaciaPrevia() As Boolean
Dim P As New Pointer[]
P = Desktop.FindWindow(Application.Title)
If P.Count > 0 Then
Message.Info("Instancia previa abierta...! " & chr(13) & "Se cerrara la aplicación " & P.Count, "Cerrar")
Return True
Endif
End
|
#4 Martes, 26 Abril 2016, 01:32 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Saber Si Existe Una Instancia Previa En Ejecución
Ricardo Prieto:
Creo que tu método tiene un problema... Si cambia el titulo de la ventana de la aplicación, no lo detectará.
Por ejemplo, yo suelo hacer, que en el título de mis aplicaciones, aparezcan los archivos que abro, con lo cual el titulo no es siempre el mismo.
Pienso que el método de Vuott, no tiene ese problema.
Saludos
Julio
|
#5 Martes, 26 Abril 2016, 07:00 |
|
|
Ricardo Prieto
Ricardo Prieto
Programador
Registrado: Septiembre 2015
Mensajes: 109
Edad: 47 Ubicación: ARGENTINA
|
Re: Saber Si Existe Una Instancia Previa En Ejecución
Si tenes razón quizas si utilizo la propiedad name podria ser mejor..?
O si tenes otra alternativa aparte de la que utiliza voutt la podes ejemplificar..
Function VerificarInstaciaPrevia() As Boolean
Dim P As New Pointer[]
P = Desktop.FindWindow(Application.Name)
If P.Count > 0 Then
Message.Info("Instancia previa abierta...! " & chr(13) & "Se cerrara la aplicación " & P.Count, "Cerrar")
Return True
Endif
End
|
#6 Martes, 26 Abril 2016, 18:01 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Saber Si Existe Una Instancia Previa En Ejecución
Ricardo Prieto:
Citar: O si tenes otra alternativa aparte de la que utiliza voutt la podes ejemplificar..
No, la de vuott me parece más correcta.
Citar: P = Desktop.FindWindow(Application.Name)
No lo he probado, pero esta tambien me parece que es buena. Normalmente la aplicación (aunque hagas distintas versiones, no le cambias el nombre)
Saludos
|
#7 Martes, 26 Abril 2016, 19:17 |
|
|
|