2011-10-04 4 views
1

私の簡単なウインドウの自動化にWhiteを使用することを考えています。まず、System.Diagnostics.Processを使用してアプリケーションから外部アプリケーションを実行します。外部アプリケーションが開くと、ユーザーがテキストを挿入して[OK]ボタンをクリックするダイアログが表示されます。私が必要とするのは、ダイアログが閉じられるか、OKボタンがクリックされるまで待つことです。私が必要とするのは、ユーザーがそのダイアログを終了し、私のオートメーションタスクを続けることができるということです。C#ホワイトとのユーザーの対話を待つ

ホワイトでこれを行う方法はありますか?他のオプションも歓迎します!

答えて

1

あなたは、そのダイアログ上の設定のタイトルをすることができ、メインウィンドウの子供たちの間で子ウィンドウを見つけるためにタイマーをスケジュールします。それが見つからなければ、続行することができます。 を動作させる必要があります。

0

別の方法:

using System.Windows.Automation; 

Automation.AddAutomationEventHandler(
      WindowPattern.WindowClosedEvent, 
      AutomationElement.RootElement, // set correct value here 
      TreeScope.Children,   // check the value is correct 
      (sender, e) => 
      { 
       var element = sender as AutomationElement; 
       if (element.Current.Name != "Form Title") 
        return; 

       Automation.RemoveAllEventHandlers(); // remove event handler 

       // Your code here 
       // CodeToRunAfterWindowClosed(); 
      }); 
関連する問題