Power Builder - Contar aplicaciones de PB

 
Vista:

Contar aplicaciones de PB

Publicado por Mizteplik (1 intervención) el 22/07/2010 21:19:45
Hola amigos.

Necesito encontrar la manera de poder contar cuantas instancias de un ejecutable están corriendo al mismo tiempo en una misma máquina. En otras palabras: Tengo una aplicación hecha en PB llamada "Consultorio" y necesito saber cuantas isntancias de consultorio.exe están corriendo a un mismo tiempo en una misma máquina para que llegado a un límite de "n" instancias, ya no deje correr la siguiente.

Estoy usando PB 9 :o(.

¿Alguien me puede orientar?

Gracias de antemano.

Mizteplik
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:Contar aplicaciones de PB

Publicado por wend (95 intervenciones) el 22/07/2010 21:46:49
Saludos.
No se si exista alguna función en PB o Windows para saber eso ,pero podrias usar una archivo perfil (por ejemplo control.ini) y en ese archivo ir incrementado el número de aplicaciones cada vez que una de estas se abre y de igual manera ir restando al momento de cerrar una aplicacion.
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
sin imagen de perfil
Val: 37
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

RE:Contar aplicaciones de PB

Publicado por JeinnerH (646 intervenciones) el 23/07/2010 18:25:40
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

Para la revisión puedes usar un ciclo, para revisar cuántas ventanas están abiertas.
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
sin imagen de perfil
Val: 37
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

RE:Contar aplicaciones de PB

Publicado por JeinnerH (646 intervenciones) el 23/07/2010 18:50:45
Si no puedes referenciar como indica Wend, puedes revisar esta otra respuesta, a ver si te sirve:

http://www.lawebdelprogramador.com/news/mostrar_new.php?id=73&texto=Power+Builder&n1=564004&n2=0&n3=0&n4=0&n5=0&n6=0&n7=0&n8=0&n9=0&n0=0
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