Power Builder - Run de la Aplicación

 
Vista:

Run de la Aplicación

Publicado por Josmir Arevalo (4 intervenciones) el 06/12/2004 14:35:09
Q tal queridos amigos, un saludo y abrazo desde venezuela, quisiera saber quien me puede ayudar con el codigo que verifica si mi apiclación ya se esta ejecutando, esto con la finalidad de no iniciar mas de una vez sesión en la misma, muchisimas gracias a quien me pueda solventar el problema
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:Detectar si la aplicacion esta corriendo

Publicado por Oscar (1178 intervenciones) el 06/12/2004 17:32:16
Para detectar si la aplicacion esta corriendo, existen algunos scripts en:
http://www.rgagnon.com/pbdetails/pb-0067.html

Y también en:
http://www.rgagnon.com/pbdetails/pb-0064.html

Pero también es posible usar la API FindWindowA que detecta si una ventana está abierta. Es decir:
1. Declaras en Local Externals Fuctions
FUNCTION ULong FindWindowA(ULong classname, String windowname) LIBRARY "user32.dll"

2. Script en el evento open de la aplicacion:
Ulong l_handle
//Titulo de la ventana principal que buscará
//(distingue mayus de minus)
l_handle = FindWindowA(0,"miventana")

//Si encuentra
If l_handle > 0 then
Messagebox("Aviso", "La aplicacion ya esta corriendo")
else
open(w_main)
End IF
//---------------Fin-------------------------------
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:Detectar si la aplicacion esta corriendo

Publicado por Ricardo (1957 intervenciones) el 06/12/2004 20:30:52
Otra forma:

[Global External Function]
Private Function Long FindWindow (String lpClassName, String lpWindowName) Library "user32" Alias For "FindWindowA"
Private Function Long SetForegroundWindow (Long hwnd) Library "user32"
Private Function Long OpenIcon (Long hWnd) Library "user32"

[Open] // De la Aplicacion
String ls_NullString
Long ll_hWnd

SetNull (ls_NullString)
ll_hWnd = FindWindow (ls_nullString, gs_MainWindowTitle)
if ll_hWnd <> 0 then
OpenIcon (ll_hWnd) // Abre la ventana, si esta minimizada
SetForegroundWindow (ll_hWnd) // colola la ventana en foreground
Return
end if

Open (w_main) // Abre ventana principal

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:Detectar si la aplicacion esta corriendo

Publicado por Vir (1 intervención) el 17/01/2008 12:35:59
Hola, yo quiero detectar si una aplicación esta corriendo o no pero en pb 10.5, he probado lo que explicas aqui pero no me funciona, sabes el por que?? muchas gracias.
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