在Windows中,如何枚举和从另一个窗口的控件中获取文本?

时间:2009-01-02 23:49:34

标签: python windows winapi controls

更具体地说 - 我有另一个正在运行的应用程序的窗口句柄。这个应用程序在某个地方包含TListControl.UnicodeClass控件(我从Winspector知道这个)。我如何使用Windows API和窗口句柄浏览该列表控件中的所有项目并从所有项目中获取文本?

你可以假设语言是C / C ++,虽然我实际上将使用win32all for python。对适当的API调用的引用会很棒。

2 个答案:

答案 0 :(得分:4)

您需要EnumWindows和EnumChildWindows进行枚举。有关示例和使用信息/警告,请参阅here

对于窗口文本,一旦有了适当的HWND,一般需要GetWindowText,如果文本存储在不同的地方(例如:列表控件),则需要特定于控件的API。对于特定控件,您需要知道特定的API,并且它可能不仅仅是Windows API调用(例如,具有所有者绘制项的控件可以将其文本存储在应用程序中,Windows无法访问)。 / p>

答案 1 :(得分:2)

以上答案完全错误,甚至不知道什么是PAS。 这在Usenet已经被回答了数百次,持续了20年。 您当然必须使用IPC(RPM)

询问新闻://comp.os.ms-windows.programmer.win32代码。