2013-03-19 129 views

回答

2

以下假設你將開發在C/C++的自動化程序,因爲我不知道它會很容易使用MSAA從.NET(有可能,但!)

如果您不想使用C++,您可以使用.NET的MS UI Automation進行調查。

要開始開發使用MSAA和C++自動化客戶端應用程序,我建議:

  1. 安裝Windows SDK for Windows 7 and .NET Framework 4

  2. 將安裝Inspect.exe工具 - 找到下:

    Programs > Microsoft Windows SDK v7.1 > Tools > Inspect Objects

  3. 啓動Inspect.exe並將左上角的下拉菜單從「UI Automation」切換到「MSAA」

  4. 啓動您的應用程序並將鼠標懸停在UI元素上 - 元素的MSAA屬性應顯示在Inspect.exe中

  5. 寫您的自動化代碼:)

一個重要的選擇將是決定是否使用事件驅動技術,以找到您的元素,或者乾脆開始在頂層(桌面),發現您的應用在桌面的子元素中,並深入到您的應用元素中樹從那裏。

有上codeproject.com一個很好的事件驅動MSAA教程在:http://www.codeproject.com/Articles/18290/Introduction-to-Microsoft-Active-Accessibility

教程在MSAA基於樹的導航似乎有點更加稀缺。我將開始與MS文檔 - 我推薦第一種:

Active Accessibility Client Interfaces and Functions

Active Accessibility User Interface Services

Active Accessibility Start Page

2

你爲什麼要使用MSAA自動化?微軟目前的方式是UI Automation

維基百科(重點煤礦):

UIA是類似之處在於它 提供用於暴露和收集有關用戶 界面元素的裝置Microsoft活動輔助(MSAA),並控制,以支持用戶接口 輔助功能和軟件測試自動化。 但是,UIA是一種更新的 技術,它提供了比MSAA更豐富的對象模型...

隨着UI自動化您可以通過創建一個本地或.NET應用程序自動或使用第三方工具,如RIATest依賴於UI自動化。

(Disclamer:我隸屬於RIATest)。

+0

我打算自動化的應用程序是使用MSAA技術。 – CSharp 2013-05-13 06:21:19

+0

@CSharp,你的應用程序使用MSAA技術的事實不應該使它不適合UIA的自動化。實際上,UIA將在內部在需要時使用MSAA。 – 2013-05-14 07:38:04

相關問題