5

Microsoft UI オートメーションを使用していますが、AutomationElement がまだ生きているかどうかを知りたいという問題があります。より正確には、ウィンドウが閉じられているかどうかを確認したい。これは、この種の質問の最も一般的なケースだと思います。さまざまなシナリオを試した結果、要素のさまざまなプロパティにアクセスして、ElementNotAvailableException がスローされるかどうかを確認するソリューションにたどり着きました。また、IsOffscreen というプロパティも見つけました。これは、この場合に非常に役立つようです。それでも、ネット上でこれについてあまり見つけることができなかったので、より良い解決策があるかどうか知りたい. フレームワークが非常に不安定に見えるので (特に AutomationElement を見つける際に)、ここ数日はフレームワークにあまり満足していません。

どうもありがとうございました

マルセル

4

2 に答える 2

1

私はそれを拡張機能でラップします:

public static bool Alive(this AutomationElement ae)
{
    try
    {
        var t = ae.Current.Name;
        return true;
    }
    catch(ElementNotAvailableException)
    {
        return false;
    }
}
于 2016-08-28T15:17:30.990 に答える