2011-07-06 25 views
7

Tôi muốn viết một kịch bản (C# hoặc AutoIt hoặc VBScript .. bất cứ hoạt động) mà nênnút Execute bên trong một dải ruy băng

  1. Lấy tham chiếu của ứng dụng đã được mở triển vọng

  2. Duyệt qua ruy băng để tìm thấy một nút cụ thể

  3. Execute nút bấm

Tôi có thể làm như thế nào?

+0

Nút này làm gì? Điều tương tự có thể xảy ra thông qua COM outlook hoặc với một plugin outlook trong C# – Matt

+0

Nút mở ra một cửa sổ phương thức với một hộp văn bản bên trong, mà tôi muốn tập trung. Tôi đã quản lý để nhận được nút được nhấp bằng mã sau. Vấn đề là vbs script của tôi đi vào một chờ đợi vô hạn sau khi mở popup và Echo không bao giờ thực hiện. Đặt oShell = WScript.CreateObject ("WScript.Shell") Set Outlook = WScript.CreateObject ("Outlook.Application") oShell.AppActivate ("Sent Items - Microsoft Outlook") Outlook.ActiveExplorer.CommandBars ("MyControl") Điều khiển (3) .Execute() WScript.Echo ("dd") – helloworld

Trả lời

4

Sử dụng AutomationPeers.

Dưới đây là bài viết MSDN với rất nhiều chi tiết: http://msdn.microsoft.com/en-us/library/ms752331.aspx

Thêm tham chiếu đến:

  • UIAutomationClient
  • UIAutomationClientsideProviders
  • UIAutomationProvider
  • UIAutomationTypes

Và đây là một chút C# đoạn mã như thế nào để có được những AutomationId những gì hiện có tập trung:

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

Bạn có thể điều hướng toàn bộ cây của một cửa sổ và đẩy toàn bộ giao diện người dùng sử dụng các đồng nghiệp tự động hóa. Đây là cách ứng dụng trợ năng tương tác với các ứng dụng trong Windows. Đây cũng là một cách mà các ứng dụng thử nghiệm giao diện người dùng tự động làm điều đó.

Các vấn đề liên quan