2011-07-06 130 views
7

我想編寫一個腳本(C#或AutoIt的或VBScript ..任何工作)應執行一個功能區內按鈕

  1. 通過絲帶獲取已經打開Outlook應用程序

  2. 迭代的參考找到一個特定的按鈕

  3. 執行該按鈕,點擊

我該怎麼辦?

+0

按鈕有什麼作用?同樣的事情可能通過outlook COM或者C#中的outlook插件來實現。 – Matt

+0

Button打開一個帶有文本框的模式窗口,我想要關注它。 我設法得到按鈕點擊下面的代碼。問題是我的vbs腳本在打開彈出窗口後進入無限等待狀態,Echo從不執行。 設置oShell = WScript.CreateObject( 「WScript.Shell」) 將Outlook = WScript.CreateObject( 「Outlook.Application」) oShell.AppActivate( 「已發送郵件 - 微軟展望」) Outlook.ActiveExplorer.CommandBars( 「MyControl」)。Controls(3).Execute() WScript.Echo(「dd」) – helloworld

回答

4

使用AutomationPeers。

這裏是MSDN文章,有很多的細節: http://msdn.microsoft.com/en-us/library/ms752331.aspx

添加引用:

  • UIAutomationClient
  • UIAutomationClientsideProviders
  • UIAutomationProvider
  • UIAutomationTypes

這裏是如何得到目前什麼具有焦點的的AutomationID一個小C#代碼片段:

var id = AutomationElement.FocusedElement.Current.AutomationId; 
this.txt.Text = id; 

您可以瀏覽窗口的整個樹,並使用自動化同行帶動整個UI。這是可訪問性應用程序如何與Windows中的應用程序交互這也是自動化UI測試應用程序的一種方法。