【问题标题】:In Windows, how can I enumerate and get text from another window's controls?在 Windows 中,如何从另一个窗口的控件中枚举和获取文本?
【发布时间】:2010-09-29 07:55:11
【问题描述】:

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

您可以假设该语言是 C/C++,但实际上我将使用 win32all 用于 python。对适当的 API 调用的引用会很棒。

【问题讨论】:

    标签: python windows winapi controls


    【解决方案1】:

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

    在 news://comp.os.ms-windows.programmer.win32 上询问代码。

    【讨论】:

    • PAS - 公开可用的规范? IPC - 进程间通信,RPM - ??。缩写词太多
    • 或者 pas 是一个 pascal 文件?
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-08
      • 1970-01-01
      • 2021-04-29
      • 2022-11-14
      • 2010-09-21
      • 1970-01-01
      • 1970-01-01
      • 2017-10-18
      相关资源
      最近更新 更多