2017-05-29 1 views
1

Ich habe einen Code zum Minimieren einer Desktop-Anwendung mit einem Minimieren-Button oben rechts auf der Anwendung.So maximieren Sie eine Desktop-Anwendung mit TestStack.White, nachdem es minimiert wurde

Aber sobald es minimiert ist, muss ich einige Operationen mit dem Browser und wieder zurück zu Desktop-Anwendung wechseln. Ich habe hier ein Problem mit dem Code, wo ich auf die Anwendungsschaltfläche in der Taskleiste klicken muss, um sie zu maximieren.

Kann mir bitte jemand auf diese oder andere Weise helfen, die minimierte Anwendung zu maximieren? Ich sollte es nicht schließen oder wieder öffnen, da einige Uploads in Bearbeitung sind.

+0

Machst du das Hochladen von Daten aus derselben Anwendung, die du minimiert hast? –

+0

Ja .. Ich muss einige Funktionen in Web-Anwendung, für die das Hochladen von Daten über Desktop-Anwendung getan werden muss. Beim Hochladen von Daten in .exe muss ich den Status in der Webanwendung überprüfen. – Renu

+0

Ich verstehe nicht klar, was Sie eigentlich erreichen wollen. –

Antwort

0

So nach nachdachte, wie Weiß macht die WindowPattern konnte ich eine öffentliche Eigenschaft auf der Window Klasse finden genannt WinPattern die eine WindowPattern zurückgibt. Nachdem Sie das Fenstermuster erhalten haben, können Sie WindowPattern.SetWindowVisualState anrufen.

Der Link zu der WindowPattern.SetWindowVisualState hat einige gute Beispielcode für die Verwendung dieses Musters. Ich habe den Code hinzugefügt, der für die Verwendung von Weiß am relevantesten ist, da Weiß Griffe das Muster für Sie bekommen.

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