Power Builder - como puedo verificar si el word lo tengo abierto

 
Vista:

como puedo verificar si el word lo tengo abierto

Publicado por Paquito (1 intervención) el 29/06/2005 19:14:01
Hola,

A ver si me podeis echar un cable.

Como puedo verificar si el word lo tengo abierto porqué en powerBuilder 8 la funcion OLEObject.IsAlive() te devuelve true o false dependiendo si el word esta abierto.

Me la he copiado en powerbuilder 6.5 y me esta fallando.

Me veo con la saga al cuello, a ver si alguien me puede echar un cable.

Gracias de antemano.

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:como puedo verificar si el word lo tengo abiert

Publicado por Oscar (1178 intervenciones) el 29/06/2005 21:08:35
¿Averiguar si Word está corriendo?
Para eso, se puede usar la API FindWindowA, que verifica en base al nombre de la ventana, si está abierta o nó la aplicación; pero como el título de la ventana de Word, puede variar; entonces se le tiene que pasar los siguientes argumentos:

FindWindowA("OpusApp", ls_NullString)
Donde:
OpusApp = Es el nombre de la class Windows de todos los MS-Word
ls_NullString = Empareja los nombres de todas las ventanas, colocándolas a null.

Los pasos completos son:
1. En Local o Global External Functions, declará:

Function uInt FindWindowA (string class, string name) Library "user32.dll"

2. Script en PB:

uInt hWnd
string ls_null
setnull(ls_null)
hWnd = FindWindowA ("opusapp",ls_null)
If hWnd = 0 Then
messagebox ("Aviso","Word NO está corriendo")
ELSE
messagebox ("Aviso","Word SI está corriendo")
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:como puedo verificar si el word lo tengo abiert

Publicado por Guillermo (72 intervenciones) el 01/07/2005 16:47:45
Otra opcion menos complicada es utilizar el "OpenChannel"., cuyo formato es el siguiente:

OpenChannel ( el nombre del aplicacion que deseas saber si esta abierta, la identificacion de la aplicacion)

Un pequeño ejemplo:

long i_handle

i_handle = OpenChannel("Word","System")
IF i_handle > 0 THEN
messagebox('Atención','Word Pro Abierto',exclamation!)
CloseChannel(i_handle)
return 0
END IF

Observacion: Mayor información sobre OpenChannel en la ayuda de Power Builder.
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:como puedo verificar si el word lo tengo abiert

Publicado por Guillermo (72 intervenciones) el 01/07/2005 20:04:47
long i_handle

i_handle = OpenChannel("WinWord","System")
IF i_handle > 0 THEN
messagebox('Atención','Word Abierto',exclamation!)
CloseChannel(i_handle)
return 0
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