Page 1 of 1
nro de instancias de un exe
Posted: Mon Dec 03, 2007 3:07 pm
by metaldrummer
Hola:
Cómo puedo evitar que un ejecutable se cargue dos o más veces en memoria?. Que solamente me permita mantener una instancia a la vez.
Gracias.
Posted: Mon Dec 03, 2007 3:16 pm
by ADBLANCO
Puedes almacenar un archivo temporal en el disco de la estación (si no existe, lo creas),El cual bloqueas exclusivo cuando entras, si no te permite bloquearlo, es que ya está siendo utilizado (ya activastes una vez)
Se que es un poco primitivo, pero trabaja para mi.
Posted: Mon Dec 03, 2007 3:37 pm
by Biel EA6DD
Code: Select all
IF IsExeRunning(cFileName(GetModuleFileName(GetInstance()))) //cFileName(HB_ARGV(0))
MsgStop("Programa ya se está ejecutando!"+CRLF+CRLF+"Este programa no permite multiples instancias!")
QUIT
ENDIF
Posted: Mon Dec 03, 2007 3:39 pm
by cuatecatl82
Saludos metaldrummer:
Hazlo más facil, agrega estas líneas en tu codifo fuente:
Function Main()
IF IsExeRunning( cFileName( HB_ARGV(0) ) )
MsgStop( "¡¡¡ ERROR CRITICO !!!"+CRLF+CRLF+"No es posible cargar más de 1 copia del Programa en su PC "+","Mensaje del Sistema")
QUIT
ENDIF
Return nil
Probado
, asì no usas ninguna variable que cualquier usuario "escurridiso" pueda modificar y entrar cuantas veces quiera..
Espero te sirva.
Saludos...
I.S.C. Victor Daniel Cuatecatl Leon
Soluciones y Desarrollo de Software Empresarial
www.sisa.unlugar.com
Posted: Tue Dec 04, 2007 5:46 pm
by metaldrummer
gracias por las respuestas!!!!
funciona de mil maravillas.
Saludos
Consultas sobre ado soy todo oídos
Mil gracias nuevamente