簡體   English   中英

C#UI自動化:Current.Name返回空字符串

[英]C# UI Automation: Current.Name returns empty string

我想在C#程序中使用System.Windows.Automation來報告FocusChangedEvent的Name屬性,就像AccEvent.exe一樣。

我有一個簡單的控制台應用程序,每當觸發FocusChangedEvent時,該應用程序都應顯示發件人的名稱:

Automation.AddAutomationFocusChangedEventHandler((sender, e) => {
    AutomationElement element = sender as AutomationElement;
        if (element != null)
            {
                Console.WriteLine(element.Current.Name);
            }
        });

這主要是我所期望的。 在窗口和窗口中的元素之間切換我的焦點將顯示焦點元素的名稱。 但是,對於許多元素,Name屬性返回空字符串(“”)

使用AccEvent.exe(UIA FocusEvent)進行檢查,對於相同的元素,發件人名稱顯示良好。

如何解決這個問題? 任何方向將不勝感激。

我在項目中切換為UIAComWrapper,現在我的結果與AccEvent一致,而且感覺也更快。

UIAComWrapper和UIAutomationClient之間的差異在另一個SO問題中有所說明: UIaComWrapper和UIAutomationCLient + UIAutomationType之間的差異

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM