ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These...

38
E-SSOM SCRIPTING GUIDE HELP DOCUMENTATION

Transcript of ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These...

Page 1: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

E-SSOM SCRIPTING GUIDE

HELP DOCUMENTATION

Page 2: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

Copyright © 1998 - 2013 Tools4ever B.V. All rights reserved. No part of the contents of this user guide may be reproduced or transmitted in any form or by any means without the written permission of Tools4ever. DISCLAIMER - Tools4ever will not be held responsible for the outcome or consequences resulting from your actions or usage of the informational material contained in this user guide. Responsibility for the use of any and all information contained in this user guide is strictly and solely the responsibility of that of the user. All trademarks used are properties of their respective owners.

Page 3: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 i

Contents

1. Introduction 1

2. Creating Scripts 2

2.1. Concept ..................................................................................................................................... 2 2.2. Script Execution ......................................................................................................................... 3 2.3. User Interface ............................................................................................................................ 4 2.4. Best Practices ............................................................................................................................ 5

3. Script Actions 6

3.1. Accessible Operations ................................................................................................................. 6 3.2. Actions ...................................................................................................................................... 7 3.3. CLI Operations ........................................................................................................................... 7 3.4. Clipboard Operations .................................................................................................................. 8 3.5. Database Operations .................................................................................................................. 8 3.6. HTML Operations ....................................................................................................................... 9 3.7. Input ....................................................................................................................................... 10 3.8. Java ........................................................................................................................................ 11 3.9. Notification Operations ............................................................................................................. 12 3.10. Reporting ...................................................................................................................... 14 3.11. Script Operations ........................................................................................................... 15 3.12. Window Operations ....................................................................................................... 18

4. Examples 20

4.1. Configuring an HTML Control .................................................................................................... 20 4.2. Configuring an If..Then..Else.. script action ............................................................................... 21 4.3. Configuring a Window Control .................................................................................................. 23

5. Window Message IDs 25

6. Virtual Key IDs 30

7. Built-In Variables 32

8. Special Characters 34

9. Index 35

Page 4: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 1

1. Introduction

E-SSOM is able to automatically log on an application by detecting the windows that are displayed by the application. If an application displays a logon window, the E-SSOM Client detects that window, enters the credentials of the user, and press the login button to login to the application. Because most login windows vary by application, it is not possible to create a fixed program that detects login windows and then enters the user credentials into that window. To solve this problem, E-SSOM uses a custom developed scripting engine that detects windows and then enters the credentials into the appropriate window fields. The E-SSOM Scripting Guide describes how to create and edit E-SSOM scripts. The 'Script Actions' chapter contains detailed technical information on all available script actions. Other E-SSOM Guides Installation Guide

Configuration Guide

Deployment Guide

Page 5: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 2

2. Creating Scripts

2.1. Concept A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can, for instance, place text in an edit box or press a button in a window. Other types of script actions can display messages to the user or jump to other parts of the script. Scripts are executed when a pre-configured event occurs. In applications, a script can be executed when a window is shown or when a window is hidden. In web pages, a script can be executed after a page has finished loading. Script Action A script action can perform one specific task. It can, for instance, display a message box, press a button in a window, or read the text from a control. All script actions have a label and most actions have one or more properties. Examples of how to configure a script action can be found in the 'Examples' chapter. Label A label uniquely identifies a script action within a script. Actions like the 'Go To' action or the 'If..Then..Else..' action can jump to a script action with a specific label. Properties Most script actions contain one or more properties that are used to configure the action. Variables A variable is an identifier for data that is used in a script. The name of the variable always begins and ends with a '%' ('%username%' or '%password'). This variable can be used to (temporarily) save data so that you can use it elsewhere in the script. The most basic way to set a variable to a specific value is to use the 'Set Variable' action. If a variable has a value, the E-SSOM Clients will automatically replace the name of the variable with the value. There are three types of variables: Built-In variables: Built-In variables are set by the E-SSOM software. They provide information on the events

that occur or if a window is being displayed or hidden.

Temporary variables: Temporary variables are saved using the script action 'Save Variable' and setting the 'Temporary Variable' property to 'true'. These variables are only stored while the application is running.

Stored variables: Variables can be stored to the database using the 'Save Variable' script action. When a script is run, the appropriate variables are automatically loaded from the database.

Please note: When editing scripts, you can right click in the edit boxes and select the created and built-in variables from the context menu.

Page 6: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 3

2.2. Script Execution Script can be executed when a pre-configured event occurs. An event can be configured to trigger on one or more of these pre-configured events. These events are different for web based applications and window applications. Window events When a window is displayed

When a window is hidden. If the built in variable '%SSOHookWindowIsShown%' is set to true, the window is being displayed. If it is set to false, the window is being hidden. Internet Explorer HTML events Before Navigate: This event is triggered when a form is submitted. It can be used to 'capture' data send using

the form.

Navigate Complete

Download Complete: This event is triggered when a page has finished downloading.

Document Complete: This event is triggered when a page has finished loading. Additionally it is possible to specify the state that the event at least must be in: Loaded

Interactive

Complete

Always

Page 7: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 4

2.3. User Interface Scripts can be created and edited using the Admin Console.

Page 8: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 5

Script Tree The script tree contains all of the scripts configured in E-SSOM. The tree allows you to perform multiple tasks: Add a new script

Edit a script

Copy a script

Delete a script

Import a script

Export a script These tasks are available by right clicking in the script tree. Please note: Script actions and even entire scripts can be dragged to the 'Edit Script' window. This will copy the action(s) to the script in the 'Edit Script' window. Edit Script The 'Edit Script' window is used to edit a script. Script actions are executed from top to bottom. Selecting a script action will display the properties of that action in the 'Script Action Properties' window. Please note: Script actions can be dragged from the 'Script Tree' or from the 'Script Actions' bar to the script. Script actions can also be moved in the 'Edit Script' window by dragging them. Press and hold the 'Ctrl' key to copy the script action. Script Action Properties The Script Action Properties window contains the properties for the selected script action. This window allows you to edit these properties by double clicking on them. Script Actions The 'Script Actions' bar contains all available script actions. These actions can be dragged to the 'Edit Script' window to add them to the script.

2.4. Best Practices

Provide clear application and script names so that you can find them easily later.

Right click when editing properties of a script action to select variables, built-in variables, and labels.

Drag actions from other scripts to a new script to quickly create a new script.

Choose clear names when creating new variables.

Page 9: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 6

3. Script Actions

3.1. Accessible Operations Accessible Operations may be used to interface with windows applications and Silverlight applications in Internet Explorer. The 'Accessible Get Info' Action can also get information from login dialogs in Internet Explorer 8 on Windows 7 Name Accessible Get Description Use this action to get text from the specified control. Usage Enter the name of the variable containing the object reference in the 'Object' property and enter the

name of the variable that must receive the text in the 'value variable' property. Remarks - Name Accessible Set Description Use this action to set text in the specified control. Usage Enter the name of the variable containing the object reference in the 'Object' property and enter the

text that must be set in the 'value' property. Remarks Mouse Select

If the 'mouse select' setting is enabled, the control will be selected using a simulated mouse click before entering the text.

Name Accessible DefaultAction Description Use this action to perform the default action of the specified object. Usually this will be used to press a

button. Usage Enter the name of the variable containing the object reference in the 'Object' property. Remarks Use Mouse

Enable this property to click on the object using a simulated mouse click. Name Accessible Get Info Description Use this action to get information from controls. Usage Enter the name of the variable containing the object reference in the 'Object' property or specify at

least one of the following properties: 'Location', 'DefaultAction', 'Name', 'Role', 'Value' to search for the object. If the object is found, the output variables will contain information regarding the object.

Remarks The 'Accessible Get Info' Action can get information from login dialogs in Internet Explorer 8 on Windows 7. This can be done by creating a variable for the login window in the window layout detection. This variable must then be specified in the 'control handle' property.

Page 10: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 7

3.2. Actions Actions can perform various tasks. Name General Action Description Use this action to perform the specified task. Usage Select the action that must be performed in the 'Action' property. Remarks 'Terminate Process' will cause the process to exit immediately without saving any data.

'Lock Workstation' will lock the desktop of the logged on user. 'Log off' will try to log off the logged on user. 'Forced Logoff' will terminate all running processes without saving any data. 'Activate Application' will try to bring the current application to the foreground. 'Suspend Detection' will pause SSO in the current process until a new user logs on to the E-SSOM User Client. 'Terminate Detection' will stop SSO in the current process until it is restarted. 'Reset Credentials set' forces the 'ask for credentials' dialog to display the next time a script is run. (Please note: the dialog will only be displayed if multiple credential sets are available for the current user.)

Name Get AD Attribute Description Use this action to get the value of a specific Active Directory user attribute. Usage Specify the Username and the domain of the user that must be queried and enter the 'Attribute Name'

that must be queried. The 'Result Variable' will contain the result of the query. Remarks The 'Bind Method' may be used to change the default bind method (LDAP) to WinNT.

Name Is Member Description Use this action to check if a user is a member of a specific group. Usage Enter the name of the group of which the membership must be checked. The 'IsMember Variable' will

receive the result of the check. Remarks If an error occurs during the operation, the 'ErrorCode Variable' is set. In this case the 'IsMember

Variable' does not contain a valid result.

3.3. CLI Operations CLI Actions are actions that can be used in Command Line, Telnet and HLLAPI applications. Name Write Text Description Use this action to write text to the console. Usage Enter the text that must be written in the 'Text' property. Remarks Special characters as specified in the 'Special Characters' chapter may be added to the text for instance

to simulate a 'ENTER' key. Please note that some terminals require a different notation for specials characters. These notations can be found in the manual of the used terminal application.

Page 11: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 8

3.4. Clipboard Operations Clipboard actions may be used to get information from the Windows clipboard or to copy information to the clipboard. These actions are particularly useful in when configuring telnet applications that cannot be managed using the regular detection methods. The 'Advanced Telnet Application - Login' script contains an example of script capable of capturing text from a telnet application. Name Clipboard Get Description This action may be used to get text from the Window clipboard. Usage Specify a reference to the handle of the window that will open the clipboard and specify the variable

that will receive the text from the clipboard. Remarks - Name Clipboard Set Description This action may be used to place text on the Window clipboard. Usage Specify a reference to the handle of the window that will open the clipboard and specify the value that

must be placed on the clipboard. Remarks -

3.5. Database Operations Database actions may be used to read and/or write to a specified database. Name Database Query Description Use this script action to query a database. Usage Specify a connection string that must be used to connect to the database and specify the query that

must be performed. The result will be placed in the 'QueryResult Variable' property. Remarks - Name Database Update Description Use this script action to update a database. Usage Specify a connection string that must be used to connect to the database and specify an SQL statement

to update the database. Remarks -

Page 12: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 9

3.6. HTML Operations HTML Actions can be used to perform tasks in a web page. Each action (except for the 'Go To Address' action) requires a HTML element as input. There are several methods that may be used to specify an HTML element: Web Layout 1. Select the HTML element using the target icon in the 'Controls' tab and assign a variable name to it. 2. Go to the HTML action and assign the variable to the 'HTMLElement' property. Get HTML Control Information 1. Specify one or more fields in the 'Manual Identification' header of the 'Get HTML Control Information' action. 2. Assign a variable name to the 'HTMLElement Variable' property. 3. Create an If.. Then.. Else.. Action to check if the assigned variable is not undefined. (This means that the specified HTML element has been found) Manual Identification 1. Specify one or more fields in the 'Manual Identification' header of the HTML Action that must be configured. Name Set Edit Box Text Description Use this action to set text in an edit box of a webpage. Usage Place the text in the 'Text' property of the action and either specify the 'HTMLElement' property or

configure the 'Manual Identification' properties. Remarks Type

If the text is not placed correctly in the edit box it may be necessary to select the type of edit box. Each type may be tried to find the correct method. Mouse Select If the 'mouse select' setting is enabled, the HTML Element will be selected using a simulated mouse click before entering the text.

Name Press Button Description Use this action to press a button in a webpage. Usage Either specify the 'HTMLElement' property containing a reference to the button or configure the 'Manual

Identification' properties to search for the button on the webpage. Remarks Use Mouse

Enable this property to click on the HTML Element using a simulated mouse click. Name Press Link Description Use this action to press a link in a webpage. Usage Either specify the 'HTMLElement' property containing a reference to the link or configure the 'Manual

Identification' properties to search for the link on the webpage. Remarks - Name Get HTML Control Information Description Use this action to get information from a HTML element in a webpage. It can for instance be used to

read the text that is entered in a webpage. Usage Either specify the 'HTMLElement' property containing a reference to the HTML Element or configure the

'Manual Identification' properties to search for the HTML Element on the webpage. Remarks Output Variables

The output variables contain the properties of the found HTML element. If the element was found using the 'Manual Identification' method, the variable specified in the 'HTML Element Variable' property will always contain a reference to the found HTML Element. This variable can be used in an If..Then..Else.. action to check if the HTML element was found.

Name Go To Address Description Use this action to go to the specified address.

Page 13: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 10

Usage Enter the URL to which must be navigated in the 'Address' property. Remarks - Name Fire Event Description Use this action to fire an event of a HTML element. Usage Enter the name of the event that must be triggered (For instance 'OnClick'.) and either specify the

'HTMLElement' property containing a reference to the HTML Element or configure the 'Manual Identification' properties to search for the HTML Element on the webpage.

Remarks -

3.7. Input Input actions are used to simulate mouse and keyboard input. Name Input Mouse Description Use this action to simulate mouse input. Usage The Input Mouse action can be used to perform various actions:

Control to Select A window control can be selected using the mouse. Enter the name of a variable containing a reference to a window control in the 'Control to Select' property. Element to Select A HTML Element can be selected using the mouse. Enter the name of a variable containing a reference to a HTML Element in the 'Element to Select' property. Select Text The mouse can be used to select text in a control or HTML element by enabling the 'Select Text' property and either specifying the 'Control to Select' or the 'Element to Select' property. Manual Control The mouse can be moved manually to a specific position and/or a mouse button can be pressed. Specify one or more properties in the 'Manual Control' header to perform the requires manual action. Use Messages Enable this setting if the mouse does not respond correctly.

Remarks Only one of the actions described in the 'Usage' section can be executed in a single input mouse action. If a valid control is specified and a valid HTML Element, only the control will be selected using the mouse. The 'Manual Control' actions are only executed if the 'Control to Select' and the 'Element to Select' properties are empty.

Name Input Keyboard Description Use this action to simulate keyboard input. Usage The Input Keyboard action can be used to type text or to execute a specific key combination such as

ALT-F4. Special Specify the combination that must be executed separated by a space. Virtual key codes must be used if available. These keycodes can be found in the 'Virtual Key IDs'. For instance: Pressing CTRL-SHIFT-A must be specified as: 'VK_CONTROL VK_SHIFT A', ALT-F4 must be specified as: 'VK_MENU VK_F4'. Text Enter the text in the 'Text' property that must be typed. KeyStrokeDelay The keystroke delay specifies the number of milliseconds to wait between pressing and releasing of the keys.

Remarks -

Page 14: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 11

3.8. Java Java actions can be used to control windows in a java application. Name Set Java Text Description Use this action to set text in a control of a java application. Usually this will be an edit box, but other

controls may also accept text. Usage Enter the text that must be set in the 'Text' property and enter the reference of the control. The

reference is a variable that can be configured in the event that triggers the script. Remarks -

Name Press Java Button Description Use this action to press a button in a window of a java application. Usage Enter the reference of the control. The reference is a variable that can be configured in the event that

triggers the script. Remarks -

Page 15: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 12

3.9. Notification Operations Notification actions can be used to ask questions or send messages to the user. These notifications include asking for login information or asking the user to re-authenticate himself or herself in Windows. Name Display Messagebox Description Use this action to display a message box to the user. Different types of messages can be displayed:

information, warning, errors, and questions. It is also possible to display different combinations and types of response buttons like: Yes/No and OK/Cancel.

Usage Enter the text that you want to display in the 'Text' property of the action. The messagebox can be automatically hidden after a specified amount of time by setting the 'Auto Destroy' property to 'true'

Remarks return value By default the message box returns the button that was pressed and stores it in the %returnvalue% variable. The value of this variable is a number representing the button that was pressed: 1 OK 2 Cancel 3 Abort 4 Retry 5 Ignore 6 Yes 7 No Auto Destroy If 'Auto Destroy' is set to true, the message box will automatically disappear after the time specified in 'Auto Destroy Interval'. The message box will not contain any buttons. Always on Top Enable this property to prevent other windows hiding the message box.

Name Change Password Description Use this action to allow the user to change his or her password when an application requests a

password change. Displaying an 'old password' edit box and/or a 'confirm password' edit box is optional. It is also possible to attach a password policy to this action that will be enforced when a user tries to change his or her password.

Usage The change password action can be used in two distinct scenarios: Ask the user By default the Change Password action will ask the user to specify a new password (and optionally to specify the old password and to confirm the new password.) Automatic If the 'Generate New Passwords automatically for users.' checkbox in the application policy has been enabled, the Change Password action will automatically generate a new password and place it in the %newpassword% variable. The user will not be asked to provide a new password.

Page 16: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 13

Remarks Password Policy A password policy can be specified in the 'Password Policy' property. This password policy can be enforced by setting the 'Enforce Password Complexity Rules' to true. If the 'Show Password Complexity Rules' property is set to true, the user will be able to see if the entered password meets the complexity rules. Edit Box Control The edit box control may be used to enable or disable optional edit boxes such as 'old password' and 'confirm password'. return value variable By default the change password dialog returns the button that was pressed and stores it in the %returnvalue% variable. The value of this variable is a number representing the button that was pressed: 1 OK 2 Cancel Always on Top Enable this property to prevent other windows hiding the message box.

Name Ask for Credentials Description Use the 'Ask for Credentials' action to ask the user to enter credential information for an application.

The action can ask the user for a username, a password and two custom items. All four fields are optional.

Usage Enter the names of the variable that will receive the username and the password. (Default %username% and %password%)

Remarks Bad Password Dialog Enable this property to change the default text of the dialog to represent a bad password dialog. Output Variables The output variables will receive the values entered by the user in the dialog. Input The input properties can be used to pre populate the edit boxes in the dialog with existing values (such as a known username). Edit Box Control The edit box control settings may be used to control which edit boxes are displayed, if they may not be empty and if the contents must remain hidden. return value variable By default the change password dialog returns the button that was pressed and stores it in the %returnvalue% variable. The value of this variable is a number representing the button that was pressed: 1 OK 2 Cancel Always on Top Enable this property to prevent other windows hiding the message box.

Name Re Authentication Token Description Use this script action to ask the user to re-enter the PIN code of a safesign smartcard. Usage Check the returnvalue variable for the desired return value. Remarks - Name Re Authentication Credentials Description This script action can be used to force the user to enter his or her Windows username and password or

to insert a smartcard and enter the PIN code.

Page 17: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 14

Usage - Remarks Returnvalue

The action returns a returnvalue in the variable %returnvalue% by default. If the operation was successful, the returnvalue will be 0. If the operation fails, the returnvalue will be a system error code explaining the failure. A complete list of system error codes and their meanings can be found on the Microsoft website. Output Variables The output variables will receive the values entered by the user in the dialog. Require smartcard Set the property 'Require Smartcard' to true to only allow re-authentication with a valid smartcard.

Name Display Question Description Use this action to ask the user a specific question for which he or she has to answer Yes/No. Usage Enter the question text that must be displayed in the 'Text' property. Remarks Returnvalue

By default the return value is placed in a variable called %QuestionResult% This value is set to 'true' if the answer was yes and to 'false' if the answer was no.

Name Debug Logging Description Use this action to log debug information to a file or to a window.

Please note: It is also possible to enable debug logging for the entire script by right clicking in the script, selecting 'Script Properties' and enabling the 'Debug' checkbox.

Usage This action is used for debugging purposes only and should never be present in operational scripts. Remarks - Name Verify Domain Credentials Description Use this script action to verify domain credentials entered by the user. Usage Specify the 'Domain', 'UserName' and 'Password' properties. The Return Value Variable will contain the

result of the verification. Remarks Return Value Variable

If the operation was successful, the returnvalue will be 0. If the operation fails, the returnvalue will be a system error code explaining the failure. A complete list of system error codes and their meanings can be found on the Microsoft website. For instance: error 1326 means that the login failed due to incorrect credentials.

3.10. Reporting Reporting actions are used to log events to the E-SSOM Database. Name Log Event Description This action is used to log the current event to the database. Usage Place this action in a script. If the flow of the script encounters this action, the event will be logged to

the database. Remarks If multiple 'Log Event' actions are encountered during execution of the script, only one event is logged

to the database.

Page 18: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 15

3.11. Script Operations Scripting actions are used for various operations: Manipulating and storing variables

Controlling the flow of the script. Name Set Variable Description The Set Variable action is used to initialize or reset a variable to a specific value. The value may also be

a variable. Usage Enter the name of the variable that must be set in the 'Variable Name' property. Enter the new value of

the variable in the 'Value' property. Please note: If a 'specific value' and a 'value' are entered, the 'specific value' will be assigned.

Remarks Existing variable If the variable already exists, the data will be overwritten. Specific Value A variable can be set to a specific value such as the current time. Select the value in the 'Specific Value' property.

Name Go To Label Description This action is used to jump to another action in the script with a specific label. Usage Enter the name of the label in the 'Label' property to which must be jumped. Remarks Caution

Use caution with this script action. It is possible to create infinite loops when jumping backward and forward in the script. If to many 'Go To' actions are used the script will become difficult to read.

Name If... Then... Else... Description The If..Then..Else.. script action is used to evaluate one or more conditions and jump to a specific label

depending on the result of the evaluation. Usage Add one or more criteria and specify in the 'Then' property to which label the script must jump if the

evaluation is true. Use the 'Else' label to identify to which label must be jumped to if the evaluation is false.

Remarks Example An example of how to configure this script action can be found in the 'Examples' chapter of this document. Multiple condition merge If more than one criterion is configured, the 'Multiple Condition Merge' property is used to determine how the criteria are merged: AND: All of the criteria must evaluate to true

OR: One or the criteria must evaluate to true Conditions One or more conditions that require evaluation can be configured. These conditions consist of a left part, an operator and a right part. It is also possible to configure the 'operation type'. This forces the evaluator to compare the left and right parts using a specific data type.

Name Save Variable Description Use this action to save a variable to the E-SSOM database or temporarily. Usage Enter the name of the variable that must be saved in the 'Variable Name' property.

Page 19: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 16

Remarks Temporary variables Variables can be saved temporarily. These variables only exist while the application is running and are never stored in the database. If the application or browser is closed, the temporary variables are deleted. Security All variables that are stored in the database are stored encrypted. Variables are never written to a log file.

Name Label Description This is an 'empty' action that can be used to jump to using the 'Go To Label' or the 'If..Then..Else..'

action. Usage - Remarks Best practice

Although any action can be labeled it is recommended to always use the 'Label' action to place labels in the script. This will prevent missing or incorrect labels when moving or deleting labeled script actions.

Name Manipulate Variable Description The 'Manipulate Variable' action can be used to perform all kinds of operations on a variable. These

operations include adding, subtracting, multiplying and dividing. Usage Enter the left value of the operation in the 'Left Value' property.

Enter the right value of the operation in the 'Right Value' property. Select the type of operation. Select the result type. The entire operation can be read as: 'Result Variable = Left Value | Type of Operation | Right Value'.

Remarks Supported string operations Add: The 'right value' string is added to the end of the 'left value' string.

Subtract: Text in the 'left value' string that is equal to the 'right value' string is removed.

If the left value is a string and the right value is a number, the 'smaller than' and 'larger than' operations can be used to check the length of the string.

Supported number operations Add,Subtract,Multiply,Divide Supported data/time operations Add: Add 'right value' amount of seconds to the 'left value' time. Subtract:Subtract 'right value' amount of seconds from the 'left value' time. Result Type If the result type is undetermined, E-SSOM will try to fit the result value into an acceptable type using the following order: date/time,number,string. If the result type is specified E-SSOM will try to fit the result value into the specified type. If this fails, the result variable will not be set.

Name Sleep Description This action can be used to pause the script for a specified amount of time. Usage Enter the time that must be paused in milliseconds in the 'Time' property. Remarks Caution

In some cases the application will be paused as well as the script. Name Lock Description The lock action may be used to exclusively lock the execution of the script for the entire desktop. Only

one script can acquire the lock. If another script also tries to acquire the lock, it will be paused until the first script unlocks. This action is mainly useful if an action must be performed that can interfere with another action in another script.

Page 20: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 17

Usage Add the Lock action at the position in the script where the lock must be acquired. Also add a Lock action at the end of the section that must be locked and select 'unlock' in the 'Operation' property.

Remarks If a lock is acquired during execution of the script and no unlock action is encountered, the lock will automatically be removed when the script finishes. Time to Wait This property is used to specify the amount of time that should be waited for a lock to acquire. If the lock is not acquired in the specified amount of time, the 'Wait Result Variable' will be set to false. If the lock is acquired, the 'Wait Result Variable' will be set to true.

Page 21: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 18

3.12. Window Operations Windows actions are used to manipulate Windows. They can be used to enter text in an edit box, select an item in a (drop down) list or press a button. To be able to do this, the control must be identified. This can be done by configuring controls in the Window Layout detection method or by using the 'Get Control Information' Action. It is also possible to specify the ID of the control manually. Name Set Text in Control Description Use this action to set text in a control. Usually this will be an edit box, but other controls may also

accept text. Usage Enter the text that must be set in the 'Text' property and specify a reference to a window handle in the

'Control Handle' property. Remarks If the text does not appear in the edit box (correctly), please try changing the following properties:

-Method: Try all methods -Clear EditBox: set this to false -Clear ComboBox: set this to false If the test still does not appear correctly in the edit box, please try the 'Input Keyboard' action.

Name Press Button Description Use this action to press a button in a window. Usage Specify a reference to a window handle in the 'Button Handle' property. Remarks Method

Three different methods may be used to press the button. Not every method works in every application.Default - Programmatically press the button. Use Mouse - Press the button by simulating a mouse click. Use Mouse Messages - Press the button by sending mouse messages to the application. Often it is also possible to send an <CR> Key using the 'input keyboard' or the 'Set text in Control' action to press a button.

Name Get Text from Control Description Use this action to get text from a control. This will usually be an edit box, but it is possible to use this

action on other controls. Usage Enter the variable that must receive the text in the 'Text Variable' property and specify a reference to a

window handle in the 'Control Handle' property. Remarks If both the 'Control ID' and the 'Control Handle' properties are entered, the 'Control Handle' property

will be used. Parent Window If the control is in a different window and the 'Control ID' property is used, the parent window ID or handle must be entered. If this is left blank, E-SSOM will only search the current window for the control.

Name Set Checkbox State Description Use this action to set the state of a checkbox. Usage Enter the state to which the checkbox must be set and specify a reference to a window handle in the

'checkbox handle' property. Remarks If both the 'checkbox ID' and the 'checkbox handle' properties are entered, the 'checkbox handle'

property will be used. Parent Window If the control is in a different window and the 'checkbox ID' property is used, the parent window ID or handle must be entered. If this is left blank, E-SSOM will only search the current window for the control.

Page 22: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 19

Name Get Control Information Description Use this action to get information from a control in a window. This action can be used to get text from a

control, but it can also be used to get the handle to the control so that it can be used in other actions. Usage Enter one or more properties to identify the control (Control ID, Text, Class, Size, Position, Relative

Position and Order) and enter the name of the variables that must receive the returned data. Remarks Configuration

The Get Control Information action can be easily configured:

Click on one of the identification properties. (Control ID, Text, Class, Size, Position, Relative Position or Order)

Left click and hold the target icon.

Drag the target icon to the control that you want to identify.

Release the left mouse button.

Control Window Variable

The 'Control Window Variable' property will receive a reference to the control if it is found. This variable can be used in an If..Then..Else.. action to check if the control was found.

Name Send a Window Message Description Use this action to sent low level window messages. Please note that sending window messages is a

complex task and requires extensive knowledge of the windows and the messaging system. Usage Enter the Window ID or Window Handle of the window to which the message must be sent. Select the

message that must be sent and enter the wParam and lParam properties. Remarks Message

A message can be selected from the drop down list. It is also possible to enter the ID of the message that must be sent. A list of Window Message IDs can be found in the 'Window Message IDs' chapter. Send A message can be sent using 'SendMessage' or 'PostMessage' By default the message is sent using 'PostMessage'. Set the 'Send' property to true to use 'SendMessage'. Send Delayed A message can be send delayed. The message will be send after the 'delay time' (in milliseconds) has expired. Please note that this can cause the message to be send after the script has been executed.

Name Find Window Description Use this action to find a window. Usage Enter the 'Text' and/or 'Class' of the window for which you want to search. Enter the variable that must

receive the window handle. Remarks - Name Select Combo Box Item Description Use this script action to select an item in a drop down list. (combo box) Usage Enter the text that must be selected in the 'String to Select' property and and specify a reference to a

window handle in the 'control handle' property. Remarks Selecting an item

Items in a drop down list can be selected using two different methods. The first method is to enter the text of the item that must be selected. The second method is to enter the index of the item that must be selected. Please note that the first item has the index 0.

Name Select List Control Item Description Use this script action to select an item in a list control. Usage Enter the text that must be selected in the 'String to Select' property and and specify a reference to a

window handle in the 'control handle' property.

Page 23: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 20

Remarks Selecting an item Items in a list control can be selected using two different methods. The first method is to enter the text of the item that must be selected. The second method is to enter the index of the item that must be selected. Please note that the first item has the index 0.

4. Examples

4.1. Configuring an HTML Control Properties can be entered manually or by selecting a control through the E-SSOM browser. This chapter describes how to configure the HTML control using the browser. 1. Create a new script or open an existing script.

2. Select an HTML control or add one to the script.

3. Double-click on the property 'ID','Name','Tag','Innertext','Value','Class' or 'Link'. This will display the 'Edit HTML Element' dialog:

Page 24: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 21

4. Click on the browse button ( ... ) to open the E-SSOM web browser:

5. Browse to the page for which you want to configure the HTML control.

6. Left click and hold the target icon located at the top right of the window.

7. Drag the target item to the HTML control that you want to configure.

8. Release the left mouse button to read the information from the control.

9. Click on 'OK' to add the information to the 'Edit Element' dialog.

10. Uncheck the items that you do not want to use.

11. Click on 'OK'.

4.2. Configuring an If..Then..Else.. script action This chapter describes how configure an If..Then..Else.. script action. 1. Create a new script or open an existing script.

2. Select the If..Then..Else.. action from the script operation bar and add it to the script.

3. Select the If..Then..Else.. action in the script.

4. Double click on the 'Criteria' property in the 'Script Action Properties' window.

Page 25: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 22

5. Click on 'Add' to add a new condition. This will display the 'Edit Condition' window:

6. In this example we want to check if the window that triggered this event is being displayed or being hidden. The %SSOHookWindowIsShown% variable is set to true if the window is being displayed and set to false if it is being hidden.

7. Select the 'String' radio button in the upper part of the window.

8. Enter the variable that you want to compare. In this case: '%SSOHookWindowIsShown%'.

9. Select the comparison that you want to perform. In this case: 'is equal to'.

10. Select what you want to compare against. In this case: A boolean that is set to true.

11. It is optional to set the 'operation' field to boolean. (This tells the evaluator to compare the left and right part as booleans).

12. Click on 'OK'.

13. Click on 'OK'.

14. Double click on the 'Then Label' property.

15. Enter the name of the label to which a jump must be made if the result of the comparison is true.

16. Click on 'OK'.

Page 26: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 23

17. Double click on the 'Else Label' property. (Please note: The else label is optional. If the else label is not specified, the script wil continue as normal when the evaluation returns false.)

18. Enter the name of the label to which a jump must be made if the result of the comparison is false.

19. Click on 'OK'.

4.3. Configuring a Window Control Window controls are used to perform actions in a window such as pressing a button or entering text. To be able to perform these actions, the action must know how to find the control on which the action must be performed. The easiest way to specify a control in a script is by using the Control ID. 1. Open an existing script or create a new one.

2. Drag a window operation action to the script. (ie 'Press Button')

3. Select the action.

4. Double click on the 'Button ID' property in the 'Script Action Properties' window:

5. Click and hold the left mouse button on the target icon. The Admin Console will disappear.

6. Drag the target icon to the control from which you want to retrieve the ID.

7. Release the left mouse button. The Admin Console will reappear and the ID of the control will be entered in the 'Number' edit box.

Page 27: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 24

8. Click on 'OK'.

9. Save the script.

Page 28: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 25

5. Window Message IDs

WM_NULL 0x0000 WM_CREATE 0x0001 WM_DESTROY 0x0002 WM_MOVE 0x0003 WM_SIZE 0x0005 WM_ACTIVATE 0x0006 WM_SETFOCUS 0x0007 WM_KILLFOCUS 0x0008 WM_ENABLE 0x000A WM_SETREDRAW 0x000B WM_SETTEXT 0x000C WM_GETTEXT 0x000D WM_GETTEXTLENGTH 0x000E WM_PAINT 0x000F WM_CLOSE 0x0010 WM_QUERYENDSESSION 0x0011 WM_QUERYOPEN 0x0013 WM_ENDSESSION 0x0016 WM_QUIT 0x0012 WM_ERASEBKGND 0x0014 WM_SYSCOLORCHANGE 0x0015 WM_SHOWWINDOW 0x0018 WM_WININICHANGE 0x001A WM_SETTINGCHANGE WM_WININICHANGE WM_DEVMODECHANGE 0x001B WM_ACTIVATEAPP 0x001C WM_FONTCHANGE 0x001D WM_TIMECHANGE 0x001E WM_CANCELMODE 0x001F WM_SETCURSOR 0x0020 WM_MOUSEACTIVATE 0x0021 WM_CHILDACTIVATE 0x0022 WM_QUEUESYNC 0x0023 WM_GETMINMAXINFO 0x0024 WM_PAINTICON 0x0026 WM_ICONERASEBKGND 0x0027 WM_NEXTDLGCTL 0x0028 WM_SPOOLERSTATUS 0x002A WM_DRAWITEM 0x002B WM_MEASUREITEM 0x002C WM_DELETEITEM 0x002D WM_VKEYTOITEM 0x002E WM_CHARTOITEM 0x002F WM_SETFONT 0x0030 WM_GETFONT 0x0031 WM_SETHOTKEY 0x0032 WM_GETHOTKEY 0x0033 WM_QUERYDRAGICON 0x0037 WM_COMPAREITEM 0x0039

Page 29: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 26

WM_GETOBJECT 0x003D WM_COMPACTING 0x0041 WM_COMMNOTIFY 0x0044 WM_WINDOWPOSCHANGING 0x0046 WM_WINDOWPOSCHANGED 0x0047 WM_POWER 0x0048 WM_COPYDATA 0x004A WM_CANCELJOURNAL 0x004B WM_NOTIFY 0x004E WM_INPUTLANGCHANGEREQUEST 0x0050 WM_INPUTLANGCHANGE 0x0051 WM_TCARD 0x0052 WM_HELP 0x0053 WM_USERCHANGED 0x0054 WM_NOTIFYFORMAT 0x0055 WM_CONTEXTMENU 0x007B WM_STYLECHANGING 0x007C WM_STYLECHANGED 0x007D WM_DISPLAYCHANGE 0x007E WM_GETICON 0x007F WM_SETICON 0x0080 WM_NCCREATE 0x0081 WM_NCDESTROY 0x0082 WM_NCCALCSIZE 0x0083 WM_NCHITTEST 0x0084 WM_NCPAINT 0x0085 WM_NCACTIVATE 0x0086 WM_GETDLGCODE 0x0087 WM_SYNCPAINT 0x0088 WM_NCMOUSEMOVE 0x00A0 WM_NCLBUTTONDOWN 0x00A1 WM_NCLBUTTONUP 0x00A2 WM_NCLBUTTONDBLCLK 0x00A3 WM_NCRBUTTONDOWN 0x00A4 WM_NCRBUTTONUP 0x00A5 WM_NCRBUTTONDBLCLK 0x00A6 WM_NCMBUTTONDOWN 0x00A7 WM_NCMBUTTONUP 0x00A8 WM_NCMBUTTONDBLCLK 0x00A9 WM_NCXBUTTONDOWN 0x00AB WM_NCXBUTTONUP 0x00AC WM_NCXBUTTONDBLCLK 0x00AD WM_INPUT_DEVICE_CHANGE 0x00FE WM_INPUT 0x00FF WM_KEYFIRST 0x0100 WM_KEYDOWN 0x0100

Page 30: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 27

WM_KEYUP 0x0101 WM_CHAR 0x0102 WM_DEADCHAR 0x0103 WM_SYSKEYDOWN 0x0104 WM_SYSKEYUP 0x0105 WM_SYSCHAR 0x0106 WM_SYSDEADCHAR 0x0107 WM_UNICHAR 0x0109 WM_KEYLAST 0x0109 UNICODE_NOCHAR 0xFFFF WM_KEYLAST 0x0108 WM_IME_STARTCOMPOSITION 0x010D WM_IME_ENDCOMPOSITION 0x010E WM_IME_COMPOSITION 0x010F WM_IME_KEYLAST 0x010F WM_INITDIALOG 0x0110 WM_COMMAND 0x0111 WM_SYSCOMMAND 0x0112 WM_TIMER 0x0113 WM_HSCROLL 0x0114 WM_VSCROLL 0x0115 WM_INITMENU 0x0116 WM_INITMENUPOPUP 0x0117 WM_MENUSELECT 0x011F WM_MENUCHAR 0x0120 WM_ENTERIDLE 0x0121 WM_MENURBUTTONUP 0x0122 WM_MENUDRAG 0x0123 WM_MENUGETOBJECT 0x0124 WM_UNINITMENUPOPUP 0x0125 WM_MENUCOMMAND 0x0126 WM_CHANGEUISTATE 0x0127 WM_UPDATEUISTATE 0x0128 WM_QUERYUISTATE 0x0129 WM_CTLCOLORMSGBOX 0x0132 WM_CTLCOLOREDIT 0x0133 WM_CTLCOLORLISTBOX 0x0134 WM_CTLCOLORBTN 0x0135 WM_CTLCOLORDLG 0x0136 WM_CTLCOLORSCROLLBAR 0x0137 WM_CTLCOLORSTATIC 0x0138 MN_GETHMENU 0x01E1 WM_MOUSEFIRST 0x0200 WM_MOUSEMOVE 0x0200 WM_LBUTTONDOWN 0x0201 WM_LBUTTONUP 0x0202 WM_LBUTTONDBLCLK 0x0203 WM_RBUTTONDOWN 0x0204 WM_RBUTTONUP 0x0205 WM_RBUTTONDBLCLK 0x0206 WM_MBUTTONDOWN 0x0207 WM_MBUTTONUP 0x0208 WM_MBUTTONDBLCLK 0x0209

Page 31: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 28

WM_MOUSEWHEEL 0x020A WM_XBUTTONDOWN 0x020B WM_XBUTTONUP 0x020C WM_XBUTTONDBLCLK 0x020D WM_MOUSEHWHEEL 0x020E WM_MOUSELAST 0x020E WM_MOUSELAST 0x020D WM_MOUSELAST 0x020A WM_MOUSELAST 0x0209 WM_PARENTNOTIFY 0x0210 WM_ENTERMENULOOP 0x0211 WM_EXITMENULOOP 0x0212 WM_NEXTMENU 0x0213 WM_SIZING 0x0214 WM_CAPTURECHANGED 0x0215 WM_MOVING 0x0216 WM_POWERBROADCAST 0x0218 WM_DEVICECHANGE 0x0219 WM_MDICREATE 0x0220 WM_MDIDESTROY 0x0221 WM_MDIACTIVATE 0x0222 WM_MDIRESTORE 0x0223 WM_MDINEXT 0x0224 WM_MDIMAXIMIZE 0x0225 WM_MDITILE 0x0226 WM_MDICASCADE 0x0227 WM_MDIICONARRANGE 0x0228 WM_MDIGETACTIVE 0x0229 WM_MDISETMENU 0x0230 WM_ENTERSIZEMOVE 0x0231 WM_EXITSIZEMOVE 0x0232 WM_DROPFILES 0x0233 WM_MDIREFRESHMENU 0x0234 WM_IME_SETCONTEXT 0x0281 WM_IME_NOTIFY 0x0282 WM_IME_CONTROL 0x0283 WM_IME_COMPOSITIONFULL 0x0284 WM_IME_SELECT 0x0285 WM_IME_CHAR 0x0286 WM_IME_REQUEST 0x0288 WM_IME_KEYDOWN 0x0290 WM_IME_KEYUP 0x0291 WM_MOUSEHOVER 0x02A1 WM_MOUSELEAVE 0x02A3 WM_NCMOUSEHOVER 0x02A0 WM_NCMOUSELEAVE 0x02A2 WM_WTSSESSION_CHANGE 0x02B1

Page 32: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 29

WM_TABLET_FIRST 0x02c0 WM_TABLET_LAST 0x02df WM_CUT 0x0300 WM_COPY 0x0301 WM_PASTE 0x0302 WM_CLEAR 0x0303 WM_UNDO 0x0304 WM_RENDERFORMAT 0x0305 WM_RENDERALLFORMATS 0x0306 WM_DESTROYCLIPBOARD 0x0307 WM_DRAWCLIPBOARD 0x0308 WM_PAINTCLIPBOARD 0x0309 WM_VSCROLLCLIPBOARD 0x030A WM_SIZECLIPBOARD 0x030B WM_ASKCBFORMATNAME 0x030C WM_CHANGECBCHAIN 0x030D WM_HSCROLLCLIPBOARD 0x030E WM_QUERYNEWPALETTE 0x030F WM_PALETTEISCHANGING 0x0310 WM_PALETTECHANGED 0x0311 WM_HOTKEY 0x0312 WM_PRINT 0x0317 WM_PRINTCLIENT 0x0318 WM_APPCOMMAND 0x0319 WM_THEMECHANGED 0x031A WM_CLIPBOARDUPDATE 0x031D WM_DWMCOMPOSITIONCHANGED 0x031E WM_DWMNCRENDERINGCHANGED 0x031F WM_DWMCOLORIZATIONCOLORCHANGED 0x0320 WM_DWMWINDOWMAXIMIZEDCHANGE 0x0321 WM_GETTITLEBARINFOEX 0x033F WM_HANDHELDFIRST 0x0358 WM_HANDHELDLAST 0x035F WM_AFXFIRST 0x0360 WM_AFXLAST 0x037F WM_PENWINFIRST 0x0380 WM_PENWINLAST 0x038F WM_APP 0x8000

Page 33: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 30

6. Virtual Key IDs

VK_LBUTTON 0x01 VK_RBUTTON 0x02 VK_CANCEL 0x03 VK_MBUTTON 0x04 VK_XBUTTON1 0x05 VK_XBUTTON2 0x06 VK_BACK 0x08 VK_TAB 0x09 VK_CLEAR 0x0C VK_RETURN 0x0D VK_SHIFT 0x10 VK_CONTROL 0x11 VK_MENU 0x12 VK_PAUSE 0x13 VK_CAPITAL 0x14 VK_KANA 0x15 VK_HANGEUL 0x15 VK_HANGUL 0x15 VK_JUNJA 0x17 VK_FINAL 0x18 VK_HANJA 0x19 VK_KANJI 0x19 VK_ESCAPE 0x1B VK_CONVERT 0x1C VK_NONCONVERT 0x1D VK_ACCEPT 0x1E VK_MODECHANGE 0x1F VK_SPACE 0x20 VK_PRIOR 0x21 VK_NEXT 0x22 VK_END 0x23 VK_HOME 0x24 VK_LEFT 0x25 VK_UP 0x26 VK_RIGHT 0x27 VK_DOWN 0x28 VK_SELECT 0x29 VK_PRINT 0x2A VK_EXECUTE 0x2B VK_SNAPSHOT 0x2C VK_INSERT 0x2D VK_DELETE 0x2E VK_HELP 0x2F VK_LWIN 0x5B VK_RWIN 0x5C VK_APPS 0x5D VK_SLEEP 0x5F VK_NUMPAD0 0x60 VK_NUMPAD1 0x61 VK_NUMPAD2 0x62 VK_NUMPAD3 0x63 VK_NUMPAD4 0x64 VK_NUMPAD5 0x65 VK_NUMPAD6 0x66 VK_NUMPAD7 0x67 VK_NUMPAD8 0x68 VK_NUMPAD9 0x69 VK_MULTIPLY 0x6A

Page 34: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 31

VK_ADD 0x6B VK_SEPARATOR 0x6C VK_SUBTRACT 0x6D VK_DECIMAL 0x6E VK_DIVIDE 0x6F VK_F1 0x70 VK_F2 0x71 VK_F3 0x72 VK_F4 0x73 VK_F5 0x74 VK_F6 0x75 VK_F7 0x76 VK_F8 0x77 VK_F9 0x78 VK_F10 0x79 VK_F11 0x7A VK_F12 0x7B VK_F13 0x7C VK_F14 0x7D VK_F15 0x7E VK_F16 0x7F VK_F17 0x80 VK_F18 0x81 VK_F19 0x82 VK_F20 0x83 VK_F21 0x84 VK_F22 0x85 VK_F23 0x86 VK_F24 0x87 VK_NUMLOCK 0x90 VK_SCROLL 0x91 VK_OEM_NEC_EQUAL 0x92 VK_OEM_FJ_JISHO 0x92 VK_OEM_FJ_MASSHOU 0x93 VK_OEM_FJ_TOUROKU 0x94 VK_OEM_FJ_LOYA 0x95 VK_OEM_FJ_ROYA 0x96 VK_LSHIFT 0xA0 VK_RSHIFT 0xA1 VK_LCONTROL 0xA2 VK_RCONTROL 0xA3 VK_LMENU 0xA4 VK_RMENU 0xA5 VK_BROWSER_BACK 0xA6 VK_BROWSER_FORWARD 0xA7 VK_BROWSER_REFRESH 0xA8 VK_BROWSER_STOP 0xA9 VK_BROWSER_SEARCH 0xAA VK_BROWSER_FAVORITES 0xAB VK_BROWSER_HOME 0xAC VK_VOLUME_MUTE 0xAD VK_VOLUME_DOWN 0xAE VK_VOLUME_UP 0xAF VK_MEDIA_NEXT_TRACK 0xB0 VK_MEDIA_PREV_TRACK 0xB1 VK_MEDIA_STOP 0xB2 VK_MEDIA_PLAY_PAUSE 0xB3 VK_LAUNCH_MAIL 0xB4 VK_LAUNCH_MEDIA_SELECT 0xB5 VK_LAUNCH_APP1 0xB6 VK_LAUNCH_APP2 0xB7

Page 35: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 32

VK_OEM_1 0xBA VK_OEM_PLUS 0xBB VK_OEM_COMMA 0xBC VK_OEM_MINUS 0xBD VK_OEM_PERIOD 0xBE VK_OEM_2 0xBF VK_OEM_3 0xC0 VK_OEM_4 0xDB VK_OEM_5 0xDC VK_OEM_6 0xDD VK_OEM_7 0xDE VK_OEM_8 0xDF VK_OEM_AX 0xE1 VK_OEM_102 0xE2 VK_ICO_HELP 0xE3 VK_ICO_00 0xE4 VK_PROCESSKEY 0xE5 VK_ICO_CLEAR 0xE6 VK_PACKET 0xE7

7. Built-In Variables

Variable Name Availability Description

Page 36: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 33

%SSOMainAppWnd% Always This variable contains a reference to the window handle of the application main window.

%SSOHookWindowIsShown% Window Events

This variable is set to 'true' if a window is being displayed. If the window is being hidden, the variable is set to 'false'.

%SSOHookWindowHandle% Always, except java

This variable contains the handle to the window that caused the script to trigger.

%SSOHookTopWindowHandle% Always, except java

This variable contains the handle to the window that is currently on top.

%SSOHookDesktopWindowHandle% Always, except java

This variable contains the handle to the desktopwindow.

%SSOHookFocusWindowHandle% Always, except java

This variable contains the handle to the window that has keyboard focus.

%SSOIEMainWindow% HTML Events

This variable contains a reference to the Internet Explorer main window.

%SSOIEBrowserWindow1% HTML Events

This variable contains a reference to the browser window using method 1.

%SSOIEBrowserWindow2% HTML Events

This variable contains a reference to the browser window using method 2.

%SSOHookControlID% Window Events

Contains information on the window that triggered the script.

%SSOHookWindowTitle% Window Events

Contains information on the window that triggered the script.

%SSOHookWindowClass% Window Events

Contains information on the window that triggered the script.

%SSOHookWindowSize% Window Events

Contains information on the window that triggered the script.

%SSOHookWindowPos% Window Events

Contains information on the window that triggered the script.

%SSOHookWindowRelPos% Window Events

Contains information on the window that triggered the script.

%SSOHookWindowClient% Window Events

Contains information on the window that triggered the script.

%SSOHookWindowStyle% Window Events

Contains information on the window that triggered the script.

%SSOHookWindowStyleEx% Window Events

Contains information on the window that triggered script.

%SSOHookAppExecutable% Always Contains information on the application that triggered the script. %SSOHookAppExecutablePath% Always Contains information on the application that triggered the script. %SSOHookAppExecutableSize%" Always Contains information on the application that triggered the script. %SSOHookAppSignature% Always Contains information on the application that triggered the script. %SSOHookAppCommandLine% Always Contains information on the application that triggered the script. %SSOHookAppSid% Always Contains information on the application that triggered the script. %SSOHookAppProcessID% Always Contains information on the application that triggered the script. %SSOBHOURL% HTML

Events Contains information on the webpage that triggered the script.

%SSOBHODocURL%" HTML Events

Contains information on the webpage that triggered the script.

%SSOBHOTitle% HTML Events

Contains information on the webpage that triggered the script.

%SSOBHOEventDocComplete% HTML Events

This variable is set to true if the 'DocumentComplete' event triggered the script.

%SSOBHOEventDownComplete% HTML Events

This variable is set to true if the 'DownloadComplete' event triggered the script.

%SSOBHOEventNavComplete2% HTML Events

This variable is set to true if the 'NavigateComplete' event triggered the script.

%SSOBHOEventBeforeNav2% HTML Events

This variable is set to true if the 'BeforeNavigate' event triggered the script.

%SSOBHOPageBusy% Web Layout, HTML Events

This variable is set to true if the webpage is still being loaded.

Page 37: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

Copyright © Tools4ever 1998 - 2013 34

%SSOBHOReadyState% Web Layout, HTML Events

This variable is set to one of the following values: uninitialized - Object is not initialized with data. loading - Object is loading its data. loaded - Object has finished loading its data. interactive - User can interact with the object even though it is not fully loaded. complete - Object is completely initialized.

%SSOCurrentTime% Always The local time at which the script triggered. %SSOCurrentTimeUTC% Always The universal time at which the script triggered. %SSOLastExecutionTime% Always The previous time at which the script was run. (This variable is

reset if the application is restarted) %SSOApplicationName% Always The name of the application definition. %SSOApplicationVersionName% Always The name of the application version in the application definition. %SSOIsDelegated% Always This variable is set to true if the script is run by delegated

credentials.

8. Special Characters

Specials characters are characters such as the 'ENTER' key. The can be specified in text by using the following keywords (including the <>): <TAB> - Simulate the 'TAB' key. <VTAB> - Simulate a vertical 'TAB'. <BACK> - Simualte the backspace <CR> - Simulate the 'ENTER' key. <LF> - Simulate a linefeed.

Page 38: ESSOM Scripting Guide€¦ · A script in E-SSOM consists of one or more script actions. These script actions can be used to perform all kinds of operations. A script action can,

ESSOM Scripting Guide

9. Index

A Accessible Operations • 6 Actions • 7

B Best Practices • 5 Built-In Variables • 31

C CLI Operations • 7 Clipboard Operations • 8 Concept • 2 Configuring a Window Control • 22 Configuring an HTML Control • 19 Configuring an If..Then..Else.. script action • 20 Creating Scripts • 2

D Database Operations • 8

E Examples • 19

H HTML Operations • 9

I Input • 10 Introduction • 1

J Java • 11

N Notification Operations • 12

R Reporting • 14

S Script Actions • 6 Script Execution • 3 Script Operations • 15 Special Characters • 32

U User Interface • 4

V Virtual Key IDs • 29

W Window Message IDs • 24 Window Operations • 17