我的目標是從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. 有沒有辦法打開Tclkit包裝的exe文件?
- 4. 有沒有辦法在控制器方法之前檢查控制器參數?
- 5. 如何控制沒有API的第三方應用程序?
- 6. 是否有任何第三方vb.net庫播放MP3文件
- 7. 沒有從控制器JsonResult方法
- 8. 有沒有辦法從aws web控制檯獲取s3 uri?
- 9. 有沒有辦法從外部控制photoshop屬性?
- 10. Hudson有沒有辦法控制人們從命令行配置?
- 11. 有沒有辦法在grails應用程序中添加第三方servlet?
- 12. 有沒有辦法將facebook「鏈接」到您的第三方網站
- 13. 有沒有辦法在第三方URL上運行gremlin.js Monkey測試?
- 14. 有沒有辦法瞭解第三方應用程序的執行情況?
- 15. 控制第三方插件組件
- 16. 有沒有辦法在R中使用ImageMagick或其他第三方軟件製作GIF?
- 17. 減少ASP.NET菜單控件大小(沒有第三方庫)
- 18. 有沒有辦法不打電話給控制事件?
- 19. 有沒有辦法深入複製Winforms控件?
- 20. py2exe沒有製作exe文件?
- 21. 有沒有辦法給leiningen添加第二個src文件夾?
- 22. 有沒有辦法從方法中獲取此/上下文?
- 23. 有沒有辦法從.java文件中獲取.class文件
- 24. 有沒有辦法從AliasMatch中免除文件/文件夾?
- 25. 控制第三方程序
- 26. 有沒有辦法從APP
- 27. .NET的C# - 有沒有辦法檢索第三方COM程序集中的所有可用的方法?
- 28. 有沒有辦法測試CSS文件?
- 29. 有沒有辦法調試plist文件?
- 30. 有沒有辦法區分C++文件?
你將會很難完成所有這些工作,但我相信它可以完成。 – 2010-03-05 02:00:56