Page 1 of 1
Como evitar que un progama (exe) se ejecute mas de una vez ?
Posted: Mon Feb 11, 2008 6:41 pm
by Blessed
Saludos amigos del foro; tengo esta inquietud para evitar que un programa (exe) se ejecuta en mas de una ocasion.
Me sucede mucho con mis clientes, que al minimizar una de mis aplicaciones, vuelven a ejecutar una vez tras otra.
Creo que lei algo por ahi, hace tiempo, pero no recuerdo donde...
Saludos desde Honduras
Posted: Mon Feb 11, 2008 6:46 pm
by FWHISHOW
function main()
IF ISEXERUNNING( CFILENAME( HB_ARGV( 0 ) ) )
msginfo("SGR JÁ ESTÁ SENDO EXECUTADO !!!")
RETURN
ENDIF
...
return(nil)
Espero ter ajudado!
Posted: Mon Feb 11, 2008 8:50 pm
by GUSPRE
Si se esta ejecutando sale y maximiza la aplicación abierta.-
Code: Select all
*---------Chequer SI GESTIONER ESTA CARGADO ---
IF IsExeRunning( cFileName( HB_ARGV( 0 ) ) )
ShowApplication()
QUIT
ENDIF
*----------------------------------------------
Code: Select all
FUNCTION ShowApplication()
LOCAL hWnd := FindWnd("Titulo Ventana Principal")
IF hWnd != nil
IF isIconic( hWnd )
showWindow( hWnd, SW_RESTORE )
ENDIF
SetForeGroundWindow( hWnd )
ENDIF
RETURN NIL
Posted: Tue Feb 12, 2008 11:47 am
by karinha
Por favor, donde esta esto? FindWnd ????? Esto nos es una FUNCTION()???
Code: Select all
LOCAL hWnd := FindWnd( "Titulo Ventana Principal" )
Posted: Tue Feb 12, 2008 12:12 pm
by GUSPRE
aca va saludos,
Code: Select all
*---------------------------------------------------------*
FUNCTION FindWnd( cTitle )
LOCAL hWnd := GetWindow( GetDesktopWindow(), GW_CHILD )
WHILE hWnd != 0
IF Upper( cTitle ) $ Upper( GetWindowText( hWnd ) )
RETURN hWnd
ENDIF
hWnd = GetWindow( hWnd, GW_HWNDNEXT )
ENDDO
RETURN NIL
Posted: Tue Feb 12, 2008 12:20 pm
by Andrés González
Revisa en ejemplos ShowApp.prg alli la tienes
Re: Como evitar que un progama (exe) se ejecute mas de una v
Posted: Tue Feb 12, 2008 12:21 pm
by Marcelo Via Giglio
Hola,
busca la clase tmutex es para eso
saludos
Marcelo
Blessed wrote:Saludos amigos del foro; tengo esta inquietud para evitar que un programa (exe) se ejecuta en mas de una ocasion.
Me sucede mucho con mis clientes, que al minimizar una de mis aplicaciones, vuelven a ejecutar una vez tras otra.
Creo que lei algo por ahi, hace tiempo, pero no recuerdo donde...
Saludos desde Honduras
Posted: Tue Feb 12, 2008 12:58 pm
by karinha
GUSPRE wrote:aca va saludos,
Code: Select all
*---------------------------------------------------------*
FUNCTION FindWnd( cTitle )
LOCAL hWnd := GetWindow( GetDesktopWindow(), GW_CHILD )
WHILE hWnd != 0
IF Upper( cTitle ) $ Upper( GetWindowText( hWnd ) )
RETURN hWnd
ENDIF
hWnd = GetWindow( hWnd, GW_HWNDNEXT )
ENDDO
RETURN NIL
Gracias amigo,
Ahora, tu respuesta esta completa.
Very Good!
Saludos.
Gracias
Posted: Tue Feb 12, 2008 9:05 pm
by Blessed
Saludos amigos del foro:
Gracias por el interes a todos
Un abrazo desde desde Honduras