SetForegroundWindow

Set a window into the foreground and activate the automation control.

void SetForegroundWindow();

Parameters

None

Remarks

For some windows this action may result in the icon in the taskbar flashing to indicate use attention is required rather than putting the window at the top of the Z-order. To put a top level window into the foreground use ShowWindow. To set focus for an automation control use AutomationControl.Element.Setfocus().

Often the most reliable way to ensure a window is in focus is to perform a Left mouse click on a area such as the title bar.

Example

AutomationControl notepadWindow = FindTopAutomationWindow("Untitled - Notepad"); // find the top level window

notepadWindow.SetForegroundWindow(); // this will ensure the window is in the foreground and activated

notepadWindow.Element.setFocus(); // set the focus using the automation element

notepadWindow.LeftClickLHS(100, 5); // set focus by clicking on the title bar

 

// The example below demonstrates how multiple windows are treat with SetForegroundWindow() method.

 

IList<AutomationControl> notepadWindows = FindTopAutomationWindows("Notepad", TextMatch.EndsWith); //finds all active notepad windows

if(notepadWindows.Count == 0)

{

WriteMessage("Couldn't to find any windows open with indicated name");

}

else

{

for (int windowNumber = 0; windowNumber < notepadWindows.Count; windowNumber++)

{

notepadWindows[windowNumber].SetForegroundWindow();//this will ensure the window is in the foreground and activated

SendKeys("Window number: " + (windowNumber + 1)); //type window number on each open window

}

}

Related:

 

This topic was last updated on October 11, 2019, at 11:19:01 AM.

Eggplant icon Eggplantsoftware.com | Documentation Home | User Forums | Support | Copyright © 2019 Eggplant