2017-05-29 4 views
1

J'ai un code pour minimiser une application de bureau en utilisant un bouton de réduction en haut à droite de l'application.Comment optimiser une application de bureau à l'aide de TestStack.White après la réduction

Mais une fois qu'il est réduit, je dois faire quelques opérations avec le navigateur et revenir à l'application de bureau. Je fais face à un problème de code ici, où j'ai besoin de cliquer sur le bouton de l'application dans la barre des tâches pour le maximiser.

Quelqu'un peut-il m'aider s'il vous plaît sur ceci ou toute autre manière de maximiser l'application minimisée? Je ne devrais pas le fermer ou le rouvrir car certains téléchargements seront en cours.

+0

Est-ce que vous téléchargez les données de la même application que vous avez réduite? –

+0

Oui ... Je dois faire une certaine fonctionnalité dans l'application Web pour laquelle le téléchargement de données doit être effectué via une application de bureau. Lors du téléchargement de données dans .exe, je dois vérifier l'état dans l'application web. – Renu

+0

Je ne comprends pas clairement ce que vous essayez réellement d'accomplir. –

Répondre

0

Alors après avoir regardé la façon dont le blanc expose WindowPattern j'ai pu trouver une propriété publique sur la classe Window appelé WinPattern qui retourne un WindowPattern. Après avoir obtenu le modèle de fenêtre, vous devriez être en mesure d'appeler WindowPattern.SetWindowVisualState.

Le lien vers le WindowPattern.SetWindowVisualState a un bon exemple de code pour l'utilisation de ce modèle. J'ai ajouté le code qui est le plus pertinent avec l'utilisation de blanc ici puisque les poignées blanches obtenant le modèle pour vous.

///-------------------------------------------------------------------- 
/// <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; 
    } 
}