2017-05-29 25 views
1

アプリケーションの右上にある最小化ボタンを使用してデスクトップアプリケーションを最小化するコードがあります。最小化された後にTestStack.Whiteを使用してデスクトップアプリケーションを最大化する方法

一度それが最小限に抑えられたら、私はブラウザでいくつかの操作をして、再びデスクトップアプリケーションに戻る必要があります。ここでは、タスクバーのアプリケーションボタンをクリックして最大化する必要があるコードの問題に直面しています。

最小化されたアプリケーションを最大限に活用するには、他の方法で私を助けてください。いくつかのアップロードが進行中であるため、私はそれを閉じたり再開したりしてはいけません。

+0

マイニングしたのと同じアプリケーションからアップロードデータを処理していますか? –

+0

はい。デスクトップアプリケーションからデータをアップロードする必要があるウェブアプリケーションでいくつかの機能を実行する必要があります。 .exeでデータをアップロードする際には、Webアプリケーションのステータスを確認する必要があります。 – Renu

+0

私はあなたが実際に達成しようとしていることを明確に理解していません。 –

答えて

0

白がWindowPatternを公開する方法を調べたところ、Windowクラスの公開プロパティを見つけることができました。WinPatternWindowPatternを返します。ウィンドウパターンを取得したら、WindowPattern.SetWindowVisualStateに電話することができます。

WindowPattern.SetWindowVisualStateへのリンクには、このパターンの使い方の良いコード例があります。私は白があなたのためにパターンを取得して以来、ここで白の使用に最も関連するコードを追加しました。

///-------------------------------------------------------------------- 
/// <summary> 
/// Calls the WindowPattern.SetVisualState() method for an associated 
/// automation element. 
/// </summary> 
/// <param name="windowPattern"> 
/// The WindowPattern control pattern obtained from 
/// an automation element. 
/// </param> 
/// <param name="visualState"> 
/// The specified WindowVisualState enumeration value. 
/// </param> 
///-------------------------------------------------------------------- 
private void SetVisualState(WindowPattern windowPattern, 
    WindowVisualState visualState) 
{ 
    try 
    { 
     if (windowPattern.Current.WindowInteractionState == 
      WindowInteractionState.ReadyForUserInteraction) 
     { 
      switch (visualState) 
      { 
       case WindowVisualState.Maximized: 
        // Confirm that the element can be maximized 
        if ((windowPattern.Current.CanMaximize) && 
         !(windowPattern.Current.IsModal)) 
        { 
         windowPattern.SetWindowVisualState(
          WindowVisualState.Maximized); 
         // TODO: additional processing 
        } 
        break; 
       case WindowVisualState.Minimized: 
        // Confirm that the element can be minimized 
        if ((windowPattern.Current.CanMinimize) && 
         !(windowPattern.Current.IsModal)) 
        { 
         windowPattern.SetWindowVisualState(
         WindowVisualState.Minimized); 
         // TODO: additional processing 
        } 
        break; 
       case WindowVisualState.Normal: 
        windowPattern.SetWindowVisualState(
        WindowVisualState.Normal); 
        break; 
       default: 
        windowPattern.SetWindowVisualState(
        WindowVisualState.Normal); 
        // TODO: additional processing 
        break; 
      } 
     } 
    } 
    catch (InvalidOperationException) 
    { 
     // object is not able to perform the requested action 
     return; 
    } 
} 
関連する問題