如果沒有其他理由說,學術練習能夠讀取寫入Windows應用程序表單的文本,該程序看起來是用非.NET語言編寫的,但用.NET術語來說,我認爲你會將該程序描述爲具有帶有標籤的表單,並且我想從該標籤中讀取文本。從Windows窗體中讀取文本
我相信我可以看到正在用User32!TextOut(和其他區域中的User32!DrawString)函數寫入屏幕的文本。但是,如果我不必鉤住該函數來獲取我正在查找的信息,而是直接從表單直接讀取它,那就太好了。
因此,給定一個窗口的句柄,是否可以使用類似的API或其他聰明的方法讀取已經寫入該窗口的文本,並使用類似TextOut和DrawString的函數?
或者我正在做這個錯誤的方式嗎?我是否應該勾住這個函數,並在每次調用中尋找文本並祈禱?
謝謝!
這聽起來很棒!我會給它一個! :)只是要確定:我可以通過在controlHandle上使用'DuplicateHandle'或類似的方法從另一個應用程序執行此操作,對吧? – omghai2u 2010-04-24 05:34:38
@ omghai2u:你可以用另一個進程的窗口句柄來做到這一點。添加了一個指向Windows Spy應用程序源代碼的鏈接,該應用程序將具有一個實現。 – 2010-04-24 06:19:41