2010-08-03 138 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]