Winapi Win32API复制间谍&x2B+;Python中的窗口信息功能

Winapi Win32API复制间谍&x2B+;Python中的窗口信息功能,winapi,user32,Winapi,User32,我有一个第三方GUI程序,我正在用Python类(使用ctypes)包装它 是否有Win32 API函数可以执行以下操作 1) 获取给定屏幕位置的窗口的窗口句柄 2) 获取具有给定标题的按钮或静态窗口的窗口句柄 3) 将文本发送到编辑窗口 4) 从RICHEDIT实例中提取文本 我有WinSpy(一个Spy++类型的应用程序),并且知道可以使用该工具获取窗口句柄和标题,但是我需要一些在Python中工作的东西 我假设Python的ctypes允许我访问Win32 API中的任何函数,所以我一直在

我有一个第三方GUI程序,我正在用Python类(使用ctypes)包装它

是否有Win32 API函数可以执行以下操作

1) 获取给定屏幕位置的窗口的窗口句柄

2) 获取具有给定标题的按钮或静态窗口的窗口句柄

3) 将文本发送到编辑窗口

4) 从RICHEDIT实例中提取文本

我有WinSpy(一个Spy++类型的应用程序),并且知道可以使用该工具获取窗口句柄和标题,但是我需要一些在Python中工作的东西

我假设Python的ctypes允许我访问Win32 API中的任何函数,所以我一直在扫描MSDN(尤其是)。我似乎找不到任何有效的方法

谢谢

迈克

  • 查找具有给定类和名称(标题)的窗口的子级。重复操作以完成每个父子间接寻址。这也会有帮助

  • +

  • +或

  • 查找具有给定类和名称(标题)的窗口的子级。重复操作以完成每个父子间接寻址。这也会有帮助

  • +

  • +或


  • 我很难找到一个使用pywin32的WM_GETTEXT的简单示例,我认为这里可能是添加示例的好地方,因为它回答了部分问题:

    MAX_LENGTH = 1024
    
    handle = # A handle returned from FindWindowEx, for example
    
    buffer = win32gui.PyMakeBuffer(MAX_LENGTH)
    length = win32gui.SendMessage(handle, win32con.WM_GETTEXT, MAX_LENGTH, buffer)
    
    result = buffer[:length]
    

    我很难找到一个使用pywin32的WM_GETTEXT的简单示例,我认为这里可能是添加示例的好地方,因为它回答了部分问题:

    MAX_LENGTH = 1024
    
    handle = # A handle returned from FindWindowEx, for example
    
    buffer = win32gui.PyMakeBuffer(MAX_LENGTH)
    length = win32gui.SendMessage(handle, win32con.WM_GETTEXT, MAX_LENGTH, buffer)
    
    result = buffer[:length]
    

    抱歉,我认为这更像是一个Windows API问题。抱歉,我认为这更像是一个Windows API问题。