是否有任何方式(Win32API或其他)從任何類型的窗口獲取文本?我可以得到活動窗口的HWND
,但調用發送WM_GETTEXT
消息並不總是給我的文本(MS Word是一個很好的例子)。
我試圖做出一個通用的拼寫檢查器,從任何應用程序,用戶按熱鍵組合並獲取更正到他的文本。
如果我想要整個文本,只選擇文本,或者說光標所在的單詞,它會不同嗎?
我可以在c,C++或c#中使用庫或Win32API或其他任何東西來接受答案。如果有解決方案,但只有其他一些編程語言(不可能只能在Delphi中完成,而不是在API中完成),我也可以管理它。從任何類型的文件中獲取文本
1
A
回答
1
如果不引用特定於應用程序的API,您將無法做到這一點。不同的應用程序處理文本的方式不同
例如,在記事本中,文本只是Windows API可以檢索的多行文本框中的字符串。
但是,Word會在內部處理文本並將顯示器呈現爲圖像。所有Windows API知道的是由Word呈現的位圖。 Windows API無法獲取組成文本的ASCII/Unicode字符。爲此,您需要使用Word的API。許多其他應用程序也會出現相同的問題。
4
我建議你看一看在UI Automation API,這就是你會找到最好的,因爲它是專爲這種用法,而忘記了原始低級的OLE」的Windows API :-)
我引述介紹:
UI自動化提供程序 訪問大多數用戶界面(UI),在桌面上 元素,使 輔助技術產品,如 屏幕讀者提供有關UI信息 最終用戶和 通過 標準輸入以外的方式操縱UI。 UI Automation還允許自動測試腳本 與UI進行交互。
goot的開始是嘗試UISpy tool。在編寫任何代碼之前,它將幫助檢查您能夠以編程方式查找的信息類型,這至少可以確保您不會浪費您的時間。
這不是那麼容易找到,這裏是一個鏈接:http://andrewtokeley.net/archive/2009/09/15/uispy-ndash-download-it-here.aspx
相關問題
- 1. 從調試版本中的類型獲取文件的源代碼文件名
- 2. 如何從文本框中的文本中獲取文件名
- 3. 如何從XML文件中獲取文本中的文本?
- 4. 從文件中獲取類
- 5. 從文本文件中的任意位置獲取值
- 6. 使用jquery從文本文件加載任何類型的文本
- 7. 無法從.winmd文件獲取類型
- 8. 從Android中的文本文件讀取類型double的數據
- 9. 從輸入類型文件中獲取文件名Angular2
- 10. vim:如何在插件腳本中獲取文件類型
- 11. Java - 如何從它的流中獲取文件的MIME類型?
- 12. 從C++中的文本文件讀取多個數據類型
- 13. 如何獲取Itent.ACTION_SEND適用於任何文件類型
- 14. 獲取Cocoa中的文件類型
- 15. 獲取Mono中的文件類型
- 16. 如何從文本文件中的任何位置提取域?
- 17. 如何從JSP中的文件類型獲取完整路徑?
- 18. 關於如何從python文本文件中獲取行號的任何提示?
- 19. 從文本文件中獲取語法
- 20. 從文本文件中獲取參數
- 21. 從PDF文件中獲取純文本
- 22. 從文本中獲取變量文件
- 23. 從文件中獲取文本C#
- 24. 如何從python的文本文件中獲取基本url?
- 25. 如何從文件中獲取純文本文件
- 26. 如何獲取文件類型名稱?
- 27. 獲取文本框的輸入類型
- 28. 獲取文本文件或c#中的任何文件的完整路徑
- 29. 如何從div類獲取文本?
- 30. 如何從Base64中獲取文件類型
謝謝,但UISpy嘗試後,我無法得到的文本,所以我認爲它不會幫助我。 – baruch 2011-06-01 08:27:10