Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
I need to get the list of applications working
Message
General information
Forum:
Visual FoxPro
Category:
Windows API functions
Miscellaneous
Thread ID:
00426736
Message ID:
00582649
Views:
35
>>Thank You George, that did it!
>>Peter
>>>>Hi!
>>>>I am using a loop with GetWindow and GW_HWNDNEXT, but the window I am looking for does not come up in the list. It is visible and I can see a title bar, but it doesn't get recognized by the GetWindow loop. What else could I do to find it? I need to wait until it is done with what it is doing before I can continue in my program.
>>>
>>>Try retrieving the desktop window handle and use it as the first call, to retrieve the first child window at the top of the Z-Order.
DECLARE INTEGER GetDesktopWindow IN Win32API
>>>DECLARE INTEGER GetWindow IN Win32API;
>>>  INTEGER hwnd, INTEGER dflag
>>>lnhwnd = GetDesktopWindow()
>>>lnchild = GetWindow(lnhwnd, GW_CHILD) && GW_CHILD = 5
The proceed from there using GW_HWNDNEXT.
>
>One problem here - GetWindow(), when applied to situations starting from the Desktop Window, will only show Top-Level Windows, and not the children of those Windows. Unfortunately, the best solution, EnumWindows() i not trivially implemented in VFP - it requires a callback, and as a result needs an OCX or DLL to provide the enumerator callback. There are several examples of FLLs used for such purposes in the Files section.

Ed,

Here I assumed that the top-level windows were the only one's needed because of the nature of the question. If, however, all windows are desired, as you know, GetWindow() can still be used by enumerating from each top-level using GW_CHILD. This is the technique I use with SpyFoxFox in the download section.

I agree, BTW, that EnumWindows() would be the best choice if it were more easily implemented from within VFP.
George

Ubi caritas et amor, deus ibi est
Previous
Reply
Map
View

Click here to load this message in the networking platform