我的目標是從VB.NET控制應用程序。沒有API,我沒有源代碼,只有編譯後的EXE文件。有沒有辦法找到打開的應用程序,在應用程序中找到一個按鈕,點擊一個按鈕,並知道它被點擊?有沒有辦法在應用程序中讀取文本框的內容?有沒有辦法從VB.NET控制第三方EXE文件?
2
A
回答
4
是的,對於Windows Vista(或Windows 7或Windows Server 2003及更高版本),有「UI Automation」API。
有託管選項; System.Windows.Automation是.NET 3.0中的一部分,作爲WPF的一部分...儘管System.Windows.Automation
作爲WPF的一部分發布,但它並不要求目標應用程序使用WPF。
你可以閱讀更多:
- 的UI Automation blog。
- the MSDN Magazine article - 關於使用PowerShell與
System.Management.Automation.dll
(System.Windows.Automation
的替代方案)的討論。 - Blog post by Samuel Jack - 描述使用
System.Windows.Automation
來自動化Paint.NET程序(C#)。使用UI自動化測試的安裝 - CodeProject article #2提供了一個基本的介紹瞭如何使用
System.Windows.Automation
0
是的,但您將不得不求助於使用本地API調用,例如EnumWindows
和EnumChildWindows
。看看How To Enumerate Windows Using the Win32 API。它適用於Visual Basic 6.0,但概念相同。
1
是的,你可以,但首先它可能會更易於使用「AutoIt」爲原型設計的腳本首先
看一看從堆棧溢出發佈Calling SendMessage (P/Invoke) keeps crashing在C#中的樣本。 OP正在嘗試訪問第三方窗口應用程序,提取文本並在其程序中使用該文本......請注意,在給定鏈接中,如何使用「FindWindow」遍歷主進程窗口的子窗口。
相關問題
- 1. Node/Express - 有沒有辦法從控制器方法訪問靜態文件?
- 2. 有沒有辦法在第三方類型上創建WCF DataContract?
- 3. VB.net:有沒有辦法從Printform獲取打印文件路徑?
- 4. 有沒有其他方法可以從Java運行.exe文件?
- 5. 有沒有辦法控制Chrome GC?
- 6. 有沒有辦法控制ko.toJS/ko.toJSON?
- 7. 有沒有辦法用arduino控制iPad?
- 8. 有沒有辦法打開Tclkit包裝的exe文件?
- 9. 有沒有辦法在linux中編輯windows c + + exe文件
- 10. 有沒有辦法在控制器方法之前檢查控制器參數?
- 11. 有沒有辦法從文件加載控制器到ui-router $ stateProvider?
- 12. 有沒有辦法從Rails控制檯查看方法的源代碼?
- 13. 如何控制沒有API的第三方應用程序?
- 14. 有沒有辦法顯示與第三列的列關係?
- 15. 是否有任何第三方vb.net庫播放MP3文件
- 16. 沒有從控制器JsonResult方法
- 17. 有沒有辦法改變MVC3中控制器方法的文本顏色?
- 18. 有沒有辦法在VB.net中關閉打開的PDF文件編程方式
- 19. 有沒有辦法從插件中的第三方kodi/xbmc插件訪問python代碼?
- 20. 有沒有辦法從新帳戶使用Firebase Legacy控制檯
- 21. 有沒有辦法從外部控制photoshop屬性?
- 22. Hudson有沒有辦法控制人們從命令行配置?
- 23. 有沒有辦法從aws web控制檯獲取s3 uri?
- 24. 有沒有辦法從FXML控制器中獲得舞臺?
- 25. 有沒有辦法從iOS設備控制USB攝像頭?
- 26. 我想從.bat文件運行第三方.exe文件,但沒有可見的命令提示符
- 27. 有沒有辦法在第三方URL上運行gremlin.js Monkey測試?
- 28. 有沒有辦法將facebook「鏈接」到您的第三方網站
- 29. 有沒有辦法瞭解第三方應用程序的執行情況?
- 30. 有沒有辦法在grails應用程序中添加第三方servlet?
你將會很難完成所有這些工作,但我相信它可以完成。 – 2010-03-05 02:00:56