1

AccEvent.exe と同じように、C# プログラムで System.Windows.Automation を使用して、FocusChangedEvent の Name プロパティを報告したいと考えています。

FocusChangedEvent が発生するたびに送信者の名前を表示する単純なコンソール アプリがあります。

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

これはほとんど期待どおりに機能します。ウィンドウとウィンドウ内の要素の間でフォーカスを切り替えると、フォーカスされた要素の名前が表示されます。ただし、多くの要素では、Name プロパティは空の文字列 ("") を返します

AccEvent.exe (UIA FocusEvent) で確認すると、送信者名は同じ要素に対して正常に表示されます。

これをトラブルシューティングする方法は? 任意の方向をいただければ幸いです。

4

1 に答える 1