Tôi muốn biết, trong NET, nếu (quản lý) Microsoft UI Automation framework cung cấp một số cách để nhanh chóng một loại AutomationElement
cho giá trị AutomationId
của một cửa sổ, đàn áp cách này, cần thiết phải tìm kiếm trên cửa sổ bằng cách xử lý cửa sổ hoặc các loại số nhận dạng khác.Có thể khởi tạo loại AutomationElement được đưa ra một giá trị AutomationId không?
Một ví dụ giả viết bằng VB.NET để hiểu mục đích của tôi:
Dim automationId As Integer = 1504
Dim element As AutomationElement = AutomationElement.FromAutomationId(automationId)
Điều tốt nhất tôi có thể tìm thấy là [this] (https://msdn.microsoft.com/en-us/library/aa349646 (v = vs.110) .aspx). Nếu không, tôi muốn nói xây dựng các lớp của riêng bạn (nếu có thể) và đổ bóng/ghi đè thuộc tính 'AutomationId'. Sau đó, bất cứ khi nào setter của nó được thực hiện, bạn lưu trữ "cửa sổ"/"kiểm soát" trong một danh sách toàn cầu, chia sẻ/từ điển. –
@Visual Vincent Thankyou, "vấn đề" tôi thấy là với giải pháp đó là một phương pháp tìm kiếm và nó cũng cần một AutomationElement để tìm kiếm thông qua các yếu tố của nó, một thuật toán tìm kiếm đắt tiền. Tôi muốn biết nếu tồn tại một cách "trực tiếp" hơn để tránh tất cả những điều đó. – ElektroStudios