Page 1 of 1
Capturar la ventana de encima de todo
Posted: Tue Mar 21, 2006 6:14 pm
by Rafael Clemente
Si tengo varias aplicaciones abiertas (Word, Excel, Explorer, etc), ¿alguien podría decirme cómo obtener el handle a la de encima de todo? ¿Y a la segunda (o sea, la que esté justo por debajo de ésa?
Gracias
Posted: Tue Mar 21, 2006 7:51 pm
by Rafael Clemente
Resuelto: Este código presenta las ventanas abiertas empezando por la de más arriba...
Code: Select all
hWnd := GETWINDOW(GETDESKTOPWINDOW(), GW_CHILD)
DO WHILE hWnd > 0
// Para eliminar ventanas ocultas o de sistema
nT := WndTop(hWnd) ; nT := IIF(nT == NIL, 0, nT)
nL := WndLeft(hWnd) ; nL := IIF(nL == NIL, 0, nL)
nW := WndWidth(hWnd)
nH := WndHeight(hWnd)
cText := GetWindowText(hWnd)
IF nT > 0 .AND. nL >0 .AND. nW > 0 .AND. nH > 0 .AND. !EMPTY(cText) .AND. IsWindowVisible(hWnd)
? cText
ENDIF
hWnd := GETWINDOW(hWnd, GW_HWNDNEXT)
ENDDO
Rafael