Bárbaro, en mi caso encontré la solución con este código, lo q me interesó es q 
me deja los nombre de de todas las aplicaciones activas en un cursor, entonces, 
trabajo con filtros utilizando comodines q me permiten saber si la aplicación 
está activa con solo indicar parte del nombre de la misma.

*******************************************************************
#DEFINE GW_HWNDNEXT         2
#DEFINE GW_CHILD            5
#DEFINE GWL_STYLE           -16
#DEFINE WS_VISIBLE          0x10000000
#DEFINE WS_POPUP            0x80000000

DECLARE LONG GetWindow IN WIN32API LONG HWND, LONG uCmd
DECLARE LONG GetWindowText IN WIN32API LONG HWND, STRING @lpString, LONG 
nMaxCount
DECLARE INTEGER GetDesktopWindow IN Win32API
DECLARE LONG GetWindowLong IN WIN32API LONG HWND, LONG nIndex
DECLARE INTEGER IsIconic IN user32 INTEGER HWND
CREATE CURSOR crsWindows ( ;
  HWND I, WindTitle C(100),isIconic L)

lhWnd = GetDesktopWindow()
lhWnd = GetWindow(lhWnd, GW_CHILD)
DO WHILE lhWnd > 0
  m.WindTitle = GetTitle(lhWnd)
  IF NOT EMPTY(m.WindTitle)
    m.hwnd     = lhWnd
    m.Style = GetWindowLong(lhWnd, GWL_STYLE)
    m.hex     = TRANSFORM(m.Style, ";@0")
    m.isiconic = IIF(IsIconic(lhWnd)=0,.F.,.T.)
    IF  BITAND(m.Style, WS_VISIBLE) > 0 ;
        AND BITAND(m.Style, WS_POPUP) = 0
      INSERT INTO crsWindows FROM MEMVAR
    ENDIF
  ENDIF
  lhWnd = GetWindow(lhWnd, GW_HWNDNEXT )
ENDDO
SELECT crsWindows
LOCATE
BROWSE NOWAIT
RETURN

FUNCTION GetTitle(lhWnd)
  LOCAL lcTitle
  lcTitle = SPACE(512)
  lnTitle = GetWindowText(lhWnd , @lcTitle, 256)
  IF lnTitle > 0
    lcTitle = LEFT(lcTitle, lnTitle )
  ELSE
    lcTitle = ""
  ENDIF
  RETURN lcTitle
ENDFUNC
*******************************************************************


From: Alberto Mendez 
Sent: Thursday, May 12, 2011 8:59 AM
To: GUFA List Member 
Subject: [GUFA] Saber si una aplicacion cualquiera se esta ejecutando.


Se hace con api.... Le pasas el caption de la ventana y listo. Sino podes 
mandarla a una tabla y monitoriar las aplicaciones. 
Si te sirve... podes hacer un KILL con el handle... es muy util para matar 
aplicaciones.

Saludos Alberto Mendez.

lparameters tcCaption

local lnhWnd, ;

llReturn, ;

lnProcessID, ;

lnHandle

* Declare the Win32API functions we need.

#define WM_DESTROY 0x0002

declare integer FindWindow in Win32API ;

string @cClassName, string @cWindowName

declare Sleep in Win32API ;

integer nMilliseconds

* Get a handle to the window by its caption.

lnhWnd = FindWindow(0, tcCaption)

llReturn = lnhWnd != 0

RETURN llReturn






--------------------------------------------------------------------------------
De: GUFA@mug.org.ar [mailto:GUFA@mug.org.ar] En nombre de Santos Victor
Enviado el: miércoles, 11 de mayo de 2011 18:37
Para: GUFA List Member
Asunto: [GUFA] Saber si una aplicacion cualquiera se esta ejecutando.


Le sumo una incógnita a la pregunta de Mario, se puede preguntar por el nombre 
de una aplicación utilizando comodines, por ej "Nombre Aplicación - ????????" 
donde los signos son variables.

O la otra siria si hay alguna función para obtener un listado de aplicaciones 
activas en el equipo


From: francisco prieto 
Sent: Wednesday, May 11, 2011 6:24 PM
To: GUFA List Member 
Subject: [GUFA] Saber si una aplicacion cualquiera se esta ejecutando.


Mario, 


Fijate si esto te sirve.


http://www.lawebdelprogramador.com/foros/FoxPro_Visual_FoxPro/1102249-Saber_si_un_programa_se_esta_ejecutando.html#


Saludos,


Pancho
Cordoba



El 11 de mayo de 2011 18:06, Mario Munuce Furze <mun...@gmail.com> escribió:

  Hola Zorros!



  Necesito saber si una aplicación que puede no ser VFP, esta ejecutándose. 
Hace tiempo  a lo lejos tenía una que me pasó un colistero, pero no la 
encuentro por ningún lado. Alguno se apiada y me manda una? Debería poderla 
invocar desde un programa VFP.

  Gracias por adelantado.

  Saludos,

  m.






Responder a