Power Builder - Dejar que se abra solamente 1 vez la aplicación

 
Vista:

Dejar que se abra solamente 1 vez la aplicación

Publicado por Luis (1 intervención) el 06/01/2004 16:38:45
Quiero que solamente se pueda abrir 1 vez en cada pc la aplicacion, intente con "handle(aplicacion,TRUE)" que supuestamente si ya esta abierta la aplicacion devuelve un valor mayor a cero que es el # de manejador, pero a mi siempre me devuelve cero (este o no abierta mas de 1 vez).
Probe con las API de windows usando la funcion FindWindowA(0,"aplicacion"), pero el problema es que en esta funcion el string "aplicacion" es el nombre que tiene en el título de la ventana y mi aplicacion el titulo lo va cambiando dinamicamente dependiendo del usuario y lo que hace, como lo hace el word por ejemplo. Asi que el tíulo no lo puedo saber con certeza. Quisiera que me indiquen si saben como puedo hacer para saber si ya esta abierta una aplicacion. O alguna funcion tipo la FindWindowA pero que no funcione con el titulo de la ventana sino con otra cosa, por ej. el nombre del exe o algo asi.
Bueno, espero sus respuestas, saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Dejar que se abra solamente 1 vez la aplicación

Publicado por Ricardo (1957 intervenciones) el 06/01/2004 17:11:19
Lo unico que tienes que hacer es verificar con el Handle si ya existen la aplicacion, es decir IF Handle(GetAplication()) > 0, inicializas una variable para controlar en el open.

Te auxilias de la API CreateMutex

Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dejar que se abra solamente 1 vez la aplicación

Publicado por Oscar (1178 intervenciones) el 06/01/2004 19:08:07
Para no "cranear" mucho, puedes bajarte el ejemplo de:

http://www.justpbinfo.com/pbtips/mutex.asp

Verás que si intentas ejecutar nuevamente la aplicación aparece un mensaje:
"La aplicación ya está ejecutándose"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar