Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
¿Como Impedir Que Un Programa Gambas Se Ejecute Mas De Una Vez?[Resuelto]
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje ¿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.
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
última edición por v3ctor el Domingo, 15 Abril 2018, 16:53; editado 1 vez 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: ¿Como Impedir Que Un Programa Gambas Se Ejecute Mas De Una Vez? 
 
aquí encontré algo:

 https://www.gambas-es.org/viewtopic...&highlight=lock
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 




===================
Gambas Básico
“Si no puedes explicar algo de forma sencilla, entonces es que tú no lo entiendes bien.” Albert Einstein
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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

 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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.
 



 
didier18 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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.
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Truco: Hacer Que Un Programa Se Ejecute Co... jsbsan General 8 Lunes, 14 Marzo 2011, 14:25 Ver último mensaje
Invitado
No hay nuevos mensajes Como Impedir El Cierre De Un Formulario En... 4octavio4 General 4 Miercoles, 17 Noviembre 2010, 14:45 Ver último mensaje
4octavio4
No hay nuevos mensajes El Programa Retornó El Valor: 1 (Error Al... v3ctor General 3 Martes, 30 Agosto 2016, 21:41 Ver último mensaje
jguardon
No hay nuevos mensajes Como Empezar Crear Un Programa De Venta Y... julio774 General 1 Miercoles, 16 Marzo 2011, 07:53 Ver último mensaje
jsbsan
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
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
No puede descargar archivos
No puede publicar eventos en el calendario