UI Automation COM-to-.NET Adapterを使用して、Windows 7 で FLASH コンテンツを再生するターゲットの Google Chrome ブラウザーのコンテンツを読み取ります。動作します。
コンテンツと要素を取得することに成功しました。しばらくはすべて正常に動作しますが、数時間後に要素にアクセスできなくなります。
0の子を(AutomationElement).FindAll()
返します。
UIAutomation で使用される文書化されていない内部タイムアウトはありますか?
このIUIAutomation2 インターフェイスによると 2 つのタイムアウトがありますが、IUIAutomation インターフェイスからはアクセスできません。IUIAutomation2 は、Windows 8 (デスクトップ アプリのみ) でのみサポートされています。
したがって、タイムアウトがあると思います。デスクトップ ツリーの先頭から要素の検索と監視を再開する回避策を作成しましたが、要素はまだ利用できません。しばらくすると (どれくらいかはわかりませんが)、要素が再び利用可能になります。私の要件は、値を常にできるだけ速く読み取ることですが、この動作はアーキテクチャ全体に損害を与えます。3分のタイムアウトがあるとどこかで読みましたが、よくわかりません。
タイムアウトがある場合、それを変更することは可能ですか? 何かを再起動したり、何かを解放/破棄したりすることは可能ですか? MSDN で何も見つかりません。
何が起こっているのか、どのように解決するのか、誰にも分かりませんか?