2

システムがロックされるとすぐに、(System.Windows.Automation.InvokePattern からの) Invoke() メソッドの呼び出しが失敗します。この動作は、プロジェクトを .NET 4.5.2 に移行した後に見られます。一方、.NET 4.0 では、システムがロックされていても呼び出しが機能していました。

使用される dll は、UIAutomationClient.dll、v4.0.0.0 です。

私が得る例外は次のとおりです。

System.InvalidOperationException はユーザー コードによって処理されませんでした メッセージ = オブジェクトの現在の状態のため、操作は有効ではありません。

UIA を使用した GUI テストでは通常、システムのロックを解除する必要があることを知っています。この呼び出しは、システムが .NET 4.0 でロックされているときに機能していたため、移行後に同じ動作をしたいと考えています。

4

2 に答える 2

1

ドキュメントによると、次のInvalidOperationException場合にスローされます

要素が InvokePattern コントロール パターンをサポートしていないか、非表示またはブロックされています。

これは .NET 3.0 までさかのぼりますが、実際には .NET 側では処理されません (基礎となる COM API にあります)。そのため、.NET バージョンと関係があるとは考えにくいです。

于 2015-09-03T12:07:15.193 に答える