Window - Hide

Declaration

<AMWINDOW ACTIVITY="hide" WINDOWTITLE="Text" WINDOWCLASS="text" WINDOWHANDLE="number" CONTAINSOBJECT="YES/NO" OBJECTPROPERTYSETS="Toolkit=text,Type=text,Class=text,FrameworkId=text,Name=text,AutomationId=text,Value=text,Role=text,Description=text,X=number,Y=number,Width=number,Height=number,IndexInParent=text,ParentPath=text,Occurrence=number" ALLOWHIDDEN="YES/NO" WINDOWTITLEVARIABLE="text" WINDOWCLASSVARIABLE="text" WINDOWHANDLEVARIABLE="text" RESULTDATASET="text" />

Related Topics  

Overview

Hides the specified window. Hiding a window makes it invisible so it cannot be seen or interacted with. You can use window title, class, handle, and other properties to specify the window.

NOTE: Because the window is hidden, if an issue occurs during the external program execution, you might not be able to view it. Furthermore, it is not possible to exit an application that is hidden except by ending the process using either the End Process activity or by manually ending the process using of Windows Task Manager.

Practical usage

This activity is designed to be used on open windows. It can hide an open window so that it does not interfere with the execution of other interactive tasks or activities. During task execution, keystrokes and mouse clicks cannot be sent to hidden windows. The only way to interact with a window that is hidden is to Show it first. To start an application in hidden mode, use the Run action and set the Initial window state parameter to Hidden.

Parameters

This activity comprises Automate Desktop Window Dissection technology to facilitate the discovery of existing windows and their controls. To select the target window:

  1. Ensure the window is open and in the foreground (in front of all other open windows).
  2. Drag and release the magnifier icon over the window. If the window is supported by this activity, a green border appears around it.
  3. Upon releasing the icon, identified window properties are populated onto the editor. These properties can be enabled/disabled or further modified.
Property Type Required Default Markup Description
By window title Text Yes (Empty) WINDOWTITLE="*Explorer" If enabled, indicates the title of the window to hide. If disabled, the window title is ignored. This parameter supports wildcard characters (* or ?). For example, entering *Notepad* includes any window with the word Notepad in its title.
By window   class Text No (Empty) WINDOWCLASS="Outlook Browser" If enabled, indicates the class of the window to hide. If disabled, the window class is ignored. A window class is a set of attributes that the system uses as a template to create a window. Every window is a member of a class and all window classes are process specific. This parameter supports wildcard characters (* or ?). For example, entering *Microsoft Edge* includes any window containing Microsoft Edge its class.
By window handle Number No (Empty) WINDOWHANDLE="555735" If enabled, indicates the handle of the window to hide. If disabled, the window handle is ignored. A window handle is numeric code that uniquely identifies a window. This parameter supports wildcard characters (* or ?).
Accessibility engine Text (options) No Auto
  • ACCESSIBILITYENGINE="auto"
  • ACCESSIBILITYENGINE="ui_automation"
  • ACCESSIBILITYENGINE="active"
  • ACCESSIBILITYENGINE="java"
The accessibility engine that this activity uses to programmatically collect accurate information about a user interface to interact with it. The available options are:
  • Auto - Starting with UI Automation, Automate Desktop detects the accessibility engine to use based on the control properties.
    NOTE: Some controls might not be compatible with this option and require one of the other accessibility engine options to be manually selected for best results.
  • UI Automation - UI Automation is used, which is Microsoft's standard for exposing information about its user interface.
  • Active - Active Accessibility is used, which uses an older Microsoft engine for exposing information about its user interface.
  • Java - Java Access Bridge is used, which is a technology that enables certain Java applications and applets to be visible to assistive technologies on Microsoft Windows systems.

Window contents

If multiple windows with the same title exists, it might be necessary to use Automate Desktop Object Editor to specify additional criteria, such as unique objects, controls or properties, to distinguish one window from another. To identify additional elements, enable Window must contain the following objects and click Add to open the Object Editor dialog. Thereafter, do one of the following:

  1. Drag and release the magnifier icon over the desired object or control. The Object properties grid becomes populated with a list of name/value pairs unique to that object. Individual values can be enabled/disabled according to preference.
  2. Click Browse to traverse the list of available objects/controls for the selected window. Select the desired object from the Window contents column and click OK. The Object properties grid becomes populated with a list of defined properties unique to that object. Individual values can be enabled or disabled according to preference.

Available object properties are described below.

Property Type Required Default Markup Description
Toolkit Text No (Empty)
  • TOOLKIT=UIAutomation
  • TOOLKIT=WindowsAccessibility
  • TOOLKIT=JavaAccessibility

If enabled, specifies that the toolkit (a set of basic building units for graphical user interfaces) is examined when determining a matching object. If disabled, the toolkit is ignored.

The toolkit that appears is based on the Accessibility engine used:

  • UI Automation - UIAutomation
  • Active - WindowsAccessibility
  • Java - JavaAccessibility
Type Text No (Empty) TYPE=PushButton If enabled, specifies that the object type (button, check box, trackbar) is examined when determining a matching object. If disabled, the type is ignored.
Class Text No (Empty) CLASS=SysTreeView32 If enabled, specifies that the object class (XTPToolBar, SysTreeView, MDIClient) is examined when determining a matching object. If disabled, the class is ignored.
FrameworkId Text No (Empty) FRAMEWORKID=WPF If enabled, specifies that the object framework ID (the framework technology used to create the object) is examined when determining a matching object. If disabled, the framework ID is ignored.
Name Text No (Empty) NAME=Cancel If enabled, specifies that the object name (a unique identifier for an object) is examined when determining a matching object. If disabled, the name is ignored.
AutomationId Text No (Empty) AUTOMATIONID=System If enabled, specifies that the object automation ID (a unique identifier for an object) is examined when determining a matching object. If disabled, the automation ID is ignored.
Value Text No (Empty) VALUE=1 If enabled, specifies that the object value (which usually coincides with the Name property) is examined when determining a matching object. If disabled, the value is ignored.
Role Text No (Empty) ROLE=desktop pane If enabled, specifies that the object role type (the control type provided by the Java Accessibility bridge) is examined when determining a matching object. If disabled, the role type is ignored.
Description Text No (Empty) DESCRIPTION=JScrollPane If enabled, specifies that the object description (the description given for an object) is examined when determining a matching object. If disabled, the description is ignored.
X Number No (Empty) X=80 If enabled, specifies that the object X coordinate (a given number of pixels along the horizontal axis of a window starting from the extreme left side) is examined when determining a matching object. If disabled, the X coordinate is ignored.
NOTE: The X and Y coordinates are relative to the specified window as opposed to the screen.
Y Number No (Empty) Y=90 If enabled, specifies that the object Y coordinate (a given number of pixels along the vertical axis of a window starting from the top-most portion) is examined when determining a matching object. If disabled, the Y coordinates is ignored.
NOTE: The X and Y coordinates are relative to the specified window as opposed to the screen.
Width Number No (Empty) WIDTH=711 If enabled, specifies that the object pixel width is examined when determining a matching object. If disabled, the pixel width is ignored.
Height Number No (Empty) HEIGHT=42 If enabled, specifies that the object pixel height is examined when determining a matching object. If disabled, the pixel height is ignored.
IndexInParent Text No (Empty) INDEXINPARENT=1 If enabled, specifies that the object index in parent number (the numeric identifier of a child object located within a parent object) is examined when determining a matching object. If disabled, the index in parent number is ignored.
ParentPath Text No (Empty) PARENTPATH=50032|50033 If enabled, specifies that the object parent path (the sequence of control type identifiers that lead to the object) is examined when determining a matching object. If disabled, the parent path is ignored.
Occurrence Number No (Empty) OCCURRENCE=1 If enabled, specifies that the object occurrence (the numeric identifier of an object, useful when multiple matching objects are found) is examined when determining a matching object. If disabled, the occurrence is ignored.

Advanced

Property Type Required Default Markup Description
Include hidden windows Yes/No No Yes ALLOWHIDDEN="YES" If selected, hidden (non-visible) windows is included in the window search. Disabled by default.
Populate variable with window title Text No (Empty) WINDOWTITLEVARIABLE="theTitle" If enabled, specifies the name of an existing variable to populate with the title of the hidden window.
Populate variable with window class Text No (Empty) WINDOWCLASSVARIABLE="theClass" If enabled, specifies the name of an existing variable to populate with the class of the hidden window.
Populate variable with window handle Text No (Empty) WINDOWHANDLEVARIABLE="theHandle" If enabled, specifies the name of an existing variable to populate with the handle of the hiddent window.
Create and populate dataset Text No (Empty) RESULTDATASET="DatasetName" If enabled, specifies the name of a dataset to create and populate with information about the hidden window. More on the fields that this dataset creates can be found under Datasets below.

Description

Error Causes

On Error

Additional notes

Datasets

A dataset is a multiple column, multiple row container object. This activity creates and populates a dataset containing a specific set of fields in addition to the standard dataset fields. The following table describes these fields (assuming the dataset name assigned is theDataset):

Name Type Return Value
theDataset.Title Text The window title of the hidden window.
theDataset.Class Text The class of the hidden window.  
theDataset.Handle Number The handle of the hidden window.

Example

NOTE:
  • Copy and paste the sample AML code below directly into the Task Builder Steps Panel.
  • To successfully run the sample code, update parameters containing user credentials, files, file paths, or other information specific to the task to match your environment.

Description

The following sample task performs a Run action to open a Notepad window. A Hide Window action hides the Notepad window and populates a dataset with information about the hidden window. A Message Box action displays the hidden window title, class, and type. Finally, an Unhide Window action unhides the previously hidden Notepad window.  

Copy
<AMRUN FILE="Notepad" />
<AMWINDOW ACTIVITY="hide" WINDOWTITLE="*Notepad*" RESULTDATASET="WindowAttribute" />
<AMSHOWDIALOG>The title of the hidden window is %WindowAttribute.Title%.The handle of the hidden window is %WindowAttribute.Handle%.The class of the hidden window is %WindowAttribute.Class%.</AMSHOWDIALOG>
<AMWINDOW ACTIVITY="unhide" WINDOWTITLE="*Notepad*" ALLOWHIDDEN="YES" />