Page 1 of 1

Retrieving all the open windows' titles

Posted: Wed Dec 20, 2006 8:37 pm
by Mdandrea
Good day

I remember seeing somewhere a sample of code that retrieves all the open windows' title text. I just don't remember how to do it or where it was. If anyone has code I would appreciate it.


TIA

MD'Andrea

Re: Retrieving all the open windows' titles

Posted: Wed Dec 20, 2006 9:08 pm
by Enrico Maria Giordano
Here it is:

Code: Select all

#include "Fivewin.ch"


#define GW_HWNDFIRST 0
#define GW_HWNDLAST  1
#define GW_HWNDNEXT  2
#define GW_HWNDPREV  3
#define GW_OWNER     4
#define GW_CHILD     5


FUNCTION MAIN()

    LOCAL hWnd := GETFOREGROUNDWINDOW()

    WHILE hWnd != 0
        IF GETWINDOW( hWnd, GW_OWNER ) = 0 .AND. ISWINDOWVISIBLE( hWnd ) .AND. !EMPTY( GETWINDOWTEXT( hWnd ) )
            ? GETWINDOWTEXT( hWnd )
        ENDIF

        hWnd = GETWINDOW( hWnd, GW_HWNDNEXT )
    ENDDO

    RETURN NIL


DLL32 STATIC FUNCTION GETFOREGROUNDWINDOW() AS LONG;
      PASCAL FROM "GetForegroundWindow" LIB "user32.dll"
EMG

Posted: Fri Dec 22, 2006 2:42 am
by Mdandrea
Thank you !