2010-08-03 112 views
0

我有一个第三方GUI程序,我用Python类(使用ctypes)进行封装。Win32API在Python中复制Spy ++窗口信息功能

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

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

2)获取给定标题的Button或Static窗口的窗口句柄。

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

4)从RICHEDIT实例中提取文本。我有WinSpy(Spy ++ - 类型的应用程序),并知道它有可能获得使用该工具的窗口句柄和标题,但我需要一些在Python内工作的东西。

我认为Python的ctypes让我可以访问Win32 API中的任何函数,所以我一直在扫描MSDN(尤其是this windows/messages section)。我似乎无法找到任何可行的方法。

感谢,

迈克

+0

道歉,我tho这更像是一个Windows API问题。 – MikeRand 2010-08-03 18:08:02

回答

2

我已经很难找到一个非常简单的例子,对于WM_GETTEXT与pywin32并推断这里可能是一个很好的地方加入一个,因为它回答了部分问题:

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]