Power Builder - Saber si ventana esta abierta

   
Vista:

Saber si ventana esta abierta

Publicado por Giorgio (22 intervenciones) el 22/07/2010 17:03:33
Estimados como podria saber que mi ventana esta abierta?
Quisiera que al momento de abir una ventana por codigo pueda saber que esta abierta y cumpla tal o cual condición y al momento de cerrar de igual manera.
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:Saber si ventana esta abierta

Publicado por wend (95 intervenciones) el 22/07/2010 21:42:32
Utiliza la función Isvalid

If IsValid(w_ventana) Then
// Ventana abierta
End If
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:Saber si ventana esta abierta

Publicado por JeinnerH (638 intervenciones) el 23/07/2010 19:12:05
Así como indica Wend podría funcionar, pero esto te da problemas si alguna aplicación es cerrada de forma anormal y el contador no es reducido. Por tanto quedará de por vida con el contador mal.

Te sugiero que utilices este API, este revisa si hay una ventana específica abierta y la activa.
Esto lo agregas a Global External Function:
Function ulong FindWindowA(ulong classname,string windowname) Library "User32.dll"
Function Boolean BringWindowToTop(ulong w_handle) Library "User32.dll"

// Esto en el Open de la Ventana
ls_nombre_ventana='Ventana 1' // Aquí puedes usar un contador.
l_handle=FindWindowA(0, ls_nombre_ventana)
If l_handle > 0 Then
// Activar Ventana.
OpenIcon(l_handle)
SetForegroundWindow(l_handle)
BringWindowToTop(l_handle)

Messagebox('ERROR', 'El Programa ya se encuentra Activo, no es posible activarlo nuevamente')
Close(This)
RETURN
End If
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:Saber si ventana esta abierta

Publicado por Giorgio (22 intervenciones) el 26/07/2010 17:04:04
Gracias JeinnerH
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:Saber si ventana esta abierta

Publicado por Banch (1 intervención) el 06/07/2015 20:30:41
Si el HANDLE es mayor a 0, q significa??? Que la ventana está abierta o q???
Xq ejecutando tu codigo, siempre me devuelve un valor mayor a 0. Incluso ejecutandolo por primera vez
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