Como evitar que un progama (exe) se ejecute mas de una vez ?

Post Reply
User avatar
Blessed
Posts: 243
Joined: Wed Sep 19, 2007 4:32 pm
Location: Honduras, C.A.
Contact:

Como evitar que un progama (exe) se ejecute mas de una vez ?

Post 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 :D
_ A. Martinez
http://www.multisofthn.com
Honduras, Centro America
xHarbour Enterprise 1.2.2, Fivewin 13.06
FWHISHOW
Posts: 80
Joined: Thu Nov 29, 2007 2:01 pm

Post by FWHISHOW »

function main()

IF ISEXERUNNING( CFILENAME( HB_ARGV( 0 ) ) )
msginfo("SGR JÁ ESTÁ SENDO EXECUTADO !!!")
RETURN
ENDIF

...

return(nil)



Espero ter ajudado!
User avatar
GUSPRE
Posts: 92
Joined: Thu May 11, 2006 10:00 pm
Location: BS.AS.ARGENTINA
Contact:

Post 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
GUSTAVO PREDIGER
User avatar
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Post by karinha »

Por favor, donde esta esto? FindWnd ????? Esto nos es una FUNCTION()???

Code: Select all

    LOCAL hWnd := FindWnd( "Titulo Ventana Principal" )
João Santos - São Paulo - Brasil
User avatar
GUSPRE
Posts: 92
Joined: Thu May 11, 2006 10:00 pm
Location: BS.AS.ARGENTINA
Contact:

Post 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
GUSTAVO PREDIGER
User avatar
Andrés González
Posts: 625
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Post by Andrés González »

Revisa en ejemplos ShowApp.prg alli la tienes
Saludos

Andrés González desde Mallorca
Marcelo Via Giglio
Posts: 1033
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia

Re: Como evitar que un progama (exe) se ejecute mas de una v

Post 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 :D
User avatar
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Post 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.
João Santos - São Paulo - Brasil
User avatar
Blessed
Posts: 243
Joined: Wed Sep 19, 2007 4:32 pm
Location: Honduras, C.A.
Contact:

Gracias

Post by Blessed »

Saludos amigos del foro:

Gracias por el interes a todos :o


Un abrazo desde desde Honduras :D
_ A. Martinez
http://www.multisofthn.com
Honduras, Centro America
xHarbour Enterprise 1.2.2, Fivewin 13.06
Post Reply