¿Como Impedir Que Un Programa Gambas Se Ejecute Mas De Una Vez?[Resuelto]


Objetivo: ¿Como Impedir Que Un Programa Gambas Se Ejecute Mas De Una Vez?[Resuelto]
buenas

creo que hay un post sobre este tema pero no logro encontrarlo

la cuestión es esa, en el caso de VisorRV1960 se habré mas de una vez lo que no debe pasar.

como identificar el proceso para después hacer una comprobación.?

lo peor que el nombre del proceso de VisorRV1960 no es por su nombre sino que aparece como gbr3

alguien ya resolvió este tema?
estoy mirando varios comando para identificar el pid o nombre pero el problema mayor es lo del gbr3

saludos.

última edición por v3ctor el Domingo, 15 Abril 2018, 15:53; editado 1 vez
Objetivo: Re: ¿Como Impedir Que Un Programa Gambas Se Ejecute Mas De Una Vez?
aquí encontré algo:

https://foro.gambas-es.org/viewtopi...&highlight=lock

Objetivo: Re: ¿Como Impedir Que Un Programa Gambas Se Ejecute Mas De Una Vez?
v3ctor:

De los dos antiguos enlaces, uno no existe y el otro FireFox lo da como sitio engañoso.
¿ Y cómo es que se abre más veces la misma aplicación ?.

Saludos

Objetivo: Re: ¿Como Impedir Que Un Programa Gambas Se Ejecute Mas De Una Vez?
al parecer esto funciona


' gambas module file

Private hLock As Stream

Public Sub Main()

Dim a As Integer
Dim Argumento As String

For a = 1 To Args.Max
Argumento = Args[a]
If Argumento = "--version" Or If Argumento = "-v" Then
Print "VisorRV1960 versión " & Application.Version
Quit
Else If Argumento = "--help" Or If Argumento = "-h" Then
Print File.Load("textos/comando")
Quit
Else If Argumento = "--azar" Or If Argumento = "-a" Then
Print cmdAzar.VersiculoAzar()
Quit
Else If Argumento = "--reiniciar-config" Or If Argumento = "-r" Then
If Exist(Settings.Path) Then
Shell "rm " & Settings.Path
Print "Se elimino archivo de configuración de VisorRV1960 v." & Application.Version
Print Settings.Path
Else
Print "Archivo de configuración '" & File.Name(Settings.Path) & "' no existe en:"
Print File.Dir(Settings.Path)
Endif
Quit
Else
Print "Comando desconocido: " & Argumento
Print "Prueba--> VisorRV1960 --help"
Quit
Endif
Next

If VisorYaEstaAbierto() Then Quit ''11 abr 2018

CargarVariables()

FMain.Show()

If Settings["Opciones/Azar", False] = True Then
If FMain.ModoBandejaAuto = False Then azar.ShowModal 'mod '05 abr 2018
Endif

End

Private Sub CargarVariables()

vp.Moneda = Settings["Moneda/NombreMondeda", "Pesos Uruguayos"]
vp.MonedaSigno = Settings["Moneda/SignoMondeda", "$U"]
vp.MonedaPorGrPlata = Settings["Moneda/ValorGrPlata", 0]

FMain.ModoBandejaAuto = Settings["ModoBandeja/ModoBandejaAuto", False] 'new 5 abr 2018 22:06

End

Private Sub VisorYaEstaAbierto() As Boolean '11 abr 2018

Try hLock = Lock vp.DirConfig &/ ".lock"
If Error Then
Message.Warning("VisorRV1960 ya se encuentra abierto!!")
Return True
Endif

Return False

End

Objetivo: Re: ¿Como Impedir Que Un Programa Gambas Se Ejecute Mas De Una Vez?
Shell escribió: [Ver mensaje]
v3ctor:

De los dos antiguos enlaces, uno no existe y el otro FireFox lo da como sitio engañoso.
¿ Y cómo es que se abre más veces la misma aplicación ?.

Saludos



pues así es y algunas aplicaciones esta bien que se habrán muchos como el caso de firefox o el mismo gambas y otros pero con visor no le veo el sentido

Objetivo: Re: ¿Como Impedir Que Un Programa Gambas Se Ejecute Mas De Una Vez?
Hola
¿Quizás esta solución le sea útil?
Uso esta rutina en el procedimiento "Public sub_new()" de img2key...

Dim sretourinfo as string
Dim tinstance As String[]
'--------------------------------------------------------------------------------------
'evite une nouvelle instance si déjà en cours d'utilisation
'--------------------------------------------------------------------------------------
Shell "ps ax | grep gbr3 | grep img2key | awk '{print $1}'" To sretourinfo
tinstance = Split(sretourinfo, gb.NewLine)
If tinstance.Count - 1 > 2 Then 'si la valeur est supérieur à 2 c'est une ouverture supplémentaire
smsg = ("Img2key est déjà en cours d'utilisation.") & "\n"
smsg &= ("Il ne peut y avoir qu'une seule instance") & "\n"
smsg &= ("en cours d'exécution.") & "\n"
Message.Title = ("Double ouverture")
Message.Info(smsg, ("OK"))
Shell "Kill -9 " & tinstance[1] 'dès que l'utilisateur a cliqué sur OK tue le process de la nouvelle instance
Me.Close 'puis ferme
Endif


Por supuesto que será necesario adaptarlo según sus necesidades....
Que tengas un buen día.

Perfil MP  
Objetivo: Re: ¿Como Impedir Que Un Programa Gambas Se Ejecute Mas De Una Vez?
En general, señalo esta pagina:

http://www.gambas-it.org/wiki/index...i%C3%A0_avviato


saludosss

Perfil MP  
Objetivo: Re: ¿Como Impedir Que Un Programa Gambas Se Ejecute Mas De Una Vez?
vuott escribió: [Ver mensaje]
En general, señalo esta pagina:

http://www.gambas-it.org/wiki/index...i%C3%A0_avviato


saludosss


Excelente hay para elegir y muestra que hay muchas formas de hacerlo gracias

Objetivo: Re: ¿Como Impedir Que Un Programa Gambas Se Ejecute Mas De Una Vez?
didier18 escribió: [Ver mensaje]
Hola
¿Quizás esta solución le sea útil?
Uso esta rutina en el procedimiento "Public sub_new()" de img2key...

Dim sretourinfo as string
Dim tinstance As String[]
'--------------------------------------------------------------------------------------
'evite une nouvelle instance si déjà en cours d'utilisation
'--------------------------------------------------------------------------------------
Shell "ps ax | grep gbr3 | grep img2key | awk '{print $1}'" To sretourinfo
tinstance = Split(sretourinfo, gb.NewLine)
If tinstance.Count - 1 > 2 Then 'si la valeur est supérieur à 2 c'est une ouverture supplémentaire
smsg = ("Img2key est déjà en cours d'utilisation.") & "\n"
smsg &= ("Il ne peut y avoir qu'une seule instance") & "\n"
smsg &= ("en cours d'exécution.") & "\n"
Message.Title = ("Double ouverture")
Message.Info(smsg, ("OK"))
Shell "Kill -9 " & tinstance[1] 'dès que l'utilisateur a cliqué sur OK tue le process de la nouvelle instance
Me.Close 'puis ferme
Endif


Por supuesto que será necesario adaptarlo según sus necesidades....
Que tengas un buen día.


gracias, si al parecer a muchas soluciones, el tema sera elegir o saber cual usar, saludos.


Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4564s (PHP: -68% SQL: 168%)
Consultas SQL: 46 - Debug off - GZIP Activado