如何使用Visual FoxPro枚举桌面Win7上的活动窗口

时间:2015-02-18 01:14:42

标签: windows winapi visual-foxpro

我需要枚举桌面窗口以获取Internet Explorer等应用程序的句柄。我已经找到了一种方法,通过向Desktop发送键来模拟调用任务切换机制的ALT + TAB。我激活每个窗口,这样我就可以得到句柄和标题。然后我使用标题来确定这是否是感兴趣的窗口。但这是一个丑陋的解决方案。

我知道" EnumThreadWindows function"适用于" EnumThreadWndProc callback function"但我不知道如何在VFP中实现它。特别是,我不知道如何在函数调用中暗示DeskTop。

BOOL WINAPI EnumThreadWindows(
  _In_  DWORD dwThreadId,
  _In_  WNDENUMPROC lpfn,
  _In_  LPARAM lParam
);

第一个参数" dwThreadId"暗示线程的ID,我能想到的是窗口是DeskTop的子节点。那我该怎么说呢?

如果有人对Window Functions有一些经验,如果你知道如何在这里帮助我,我会很感激

DK

1 个答案:

答案 0 :(得分:1)

news2news.com的“列出Windows桌面的子窗口”VFP示例代码是否可以满足您的要求?:

http://www.news2news.com/vfp/?example=27&PHPSESSID=0544069194f7f507abc54ddebcbe26a0