Window Dissection™ Technology

AutoMate's Window Dissection™ technology can be used to precisely identify any window by literally "seeing" and analyzing the objects and controls that are inside a specific window. It provides AutoMate with intelligence about active windows and controls on a system.

Windows are frequently identified by their title, but occasionally this is not enough. If, for example, there are many windows open with the same window title, it is necessary to specify additional criteria to identify one window from another. Window Dissection allows the specification of a window based on objects, controls, or text inside a window. Multiple objects may be specified which, when taken together, make a description of a unique window on the system.

Where Window Dissection is Utilized


Window Dissection can be found in the Window trigger and within the properties of any action or activity used for the purpose of directly interacting with other applications. For example, the Press action simulates a user "pressing" a control. In the properties of this action, simply drag the pointer to select the control to interact with. AutoMate can see into windows based applications and intelligently selects controls without relying on screen coordinates. that takes a window as a parameter and within a number of interactive actions used for extracting/setting data, manipulating controls and window navigation. The available parameters vary depending on the action (as shown below).

Window Trigger & Window-related Actions

In addition to the Window Trigger, the following window related actions contain Window Dissection parameters.

Minimize Window
Maximize Window

Restore Window

Focus Window

Close Window

Hide Window

Unhide Window

Resize Window

Move Window

Wait for a Window

If Window Exists

Loop Windows

Interactivity Actions

The following are interactive actions that contain the Windows Dissection parameters. These actions are found in the Task Builder's Available Actions pane under the Interactivity folder.

Move Mouse to Object

Get Text
Set Text

Check
Press

Select Item

Get Selected List Item

Get Selected Tree Item

Select List Item

Select Tree Item

Parameters


Window Dissection parameters are most easily set by dragging the provided AutoMate icon from the properties dialog box to the desired window object. This populates the available parameters with the proper specifications.

Property

Type

Required

Default

Markup

Description

Window Must Contain the Object

Yes/No

No

No

CONTAINSOBJECT="YES"

Specifies whether or not objects are to be included in the window identification criteria. All other object specification parameters are valid only if this is set to YES.

Object type must be

Yes/No

No

No

CHECKOBJECTTYPE="YES"

If set to YES, specifies that the object type is to be used to identify the object. If set to NO, the object type will not be used.

Object type

Text

No

(Empty)

OBJECTTYPE="ComboBox"

The type of the object. Valid only if the Object type must be parameter is set to YES.

Object name must be

Yes/No

No

No

CHECKOBJECTNAME="YES"

If set to YES, specifies that the object name is to be used to identify the object. If set to NO, the object name will not be used.

Object name

Text

No

(Empty)

OBJECTNAME="Font:"

The name of the object. Valid only if the Object name must be parameter is set to YES.

Object class must be

Yes/No

No

No

CHECKOBJECTCLASS="YES"

If set to YES, specifies that the object class is to be used to identify the object. If set to NO, the object class will not be used.

Object class

Text

No

(Empty)

OBJECTCLASS="MsoCommandBar"

The class of the object. Valid only if the Object class must be parameter is set to YES.

Object value must be

Yes/No

No

No

CHECKOBJECTVALUE="YES"

If set to YES, specifies that the object value is to be used to identify the object. If set to NO, the object value will not be used.

Object value

Text

No

(Empty)

OBJECTVALUE="Arial"

The value of the object. Valid only if the Object value must be parameter is set to YES.

Object position must be

Yes/No

No

No

CHECKOBJECTPOSITION="YES"

If set to YES, specifies that the object position is to be used to identify the object. If set to NO, the object position will not be used.

Object X Position

Number

No

(Empty)

OBJECTXPOS="30"

Specifies the X pixel coordinate location on the screen for the upper left corner of the object. Valid only if the Object position must be parameter is set to YES.

Object Y Position

Number

No

(Empty)

OBJECTYPOS="158"

Specifies the Y pixel coordinate location on the screen for the upper left corner of the object. Valid only if the Object position must be parameter is set to YES.

 

Examples


Sample 1 - Maximize the window "Untitled - Notepad".  The window must contain the objects: names = "Application", values = "", classes = "Notepad", types = "MenuBar", X = "229", Y = "317", Check names = "YES", check values = "", check classes = "YES", check types = "YES", check positions = "YES".   

 

<AMWINDOWMAXIMIZE WINDOWTITLE="Untitled - Notepad" CONTAINSOBJECT="YES" OBJECTNAME="Application" OBJECTCLASS="Notepad" OBJECTTYPE="MenuBar" CHECKOBJECTNAME="YES" CHECKOBJECTCLASS="YES" CHECKOBJECTTYPE="YES" OBJECTXPOS="229" OBJECTYPOS="317" CHECKOBJECTPOSITION="YES" />

 

 

Sample 2 - Get text from the control: (class = "Edit", type = "SelectableText", value = "Hello World!", X = "231", Y = "339", check class = "YES", check name = "NO", check type = "YES", check value = "YES", check position = "YES") and populate the variable "theVar".  The object must be in the window : (title = "Untitled - Notepad", class = "Notepad", handle = "58263186").  

 

<AMGETTEXT WINDOWTITLE="Untitled - Notepad" WINDOWCLASS="Notepad" WINDOWHANDLE="58263186" OBJECTVALUE="Hello World!" OBJECTCLASS="Edit" OBJECTTYPE="SelectableText" CHECKOBJECTVALUE="YES" CHECKOBJECTCLASS="YES" CHECKOBJECTTYPE="YES" CHECKOBJECTPOSITION="YES" OBJECTXPOS="231" OBJECTYPOS="339" RESULTVARIABLE="theVar" />

 

"Window Dissection" is a trademark of Network Automation.

See Also

Introduction to AML

Terminal Services

Windows Foreground Timeout

Interacting with Java Applet Window