DeviceReplay Object
Description
An object used to simulate operations performed using a keyboard or mouse.
IMPORTANT
The DeviceReplay object is a reserved object. Reserved objects are not learned or stored in the object repository.
To use a DeviceReply object you need to create it using a CreateObject statement.
Set <Object Name>= CreateObject("Mercury.DeviceReplay")When you no longer need the object in your test, release it.
Set <Object Name>= Nothing
Operations
The sections below list the built-in methods and properties that you can use as operations for the DeviceReplay object.
Methods
  MouseClick | Clicks the mouse button at the specified screen location. | 
  MouseDblClick | Double-clicks the mouse button at the specified screen location. | 
  DragAndDrop | Presses the mouse in one location and releases it in another. | 
  PressKey | Presses and releases the specified keyboard key. | 
  PressNKeys | Presses the specified keyboard key a specified number of times. | 
  MouseDown | Presses the mouse button at the specified screen location. | 
| Moves the mouse pointer to the specified screen location. | |
  MouseUp | Releases the mouse button at the specified screen location. | 
  KeyDown | Releases the mouse button at the specified screen location. | 
  KeyUp | Releases the specified keyboard key. | 
  SendString | Types a string. | 
MouseClick Method
Description
Clicks the mouse button at the specified screen location.
Syntax
object.MouseClick x, y, [Button]
Arguments
| Parameter | Description | 
|---|---|
| x | 
					An integer value. The x-coordinate of the click, relative to the top left corner of the screen.  | 
| y | 
					An integer value. The y-coordinate of the click, relative to the top left corner of the screen.  | 
| Button | 
					Optional. A predefined constant or number. Possible values: 0 = LEFT_MOUSE_BUTTON (Default) 1 = MIDDLE_MOUSE_BUTTON 2 = RIGHT_MOUSE_BUTTON  | 
Return Type
None
Example
'The following example retrieves an object's location on the screen ' and uses the MouseClick method to click that location with an offset of 5X3 'because the object.Click was not working. x_coord = Window("Notepad").GetROProperty("abs_x") y_coord = Window("Notepad").GetROProperty("abs_y") Set deviceReplayObject= CreateObject("Mercury.DeviceReplay") deviceReplayObject.MouseClick x_coord + 5, y_coord + 3, LEFT_MOUSE_BUTTON
MouseDblClick Method
Description
Double-clicks the mouse button at the specified screen location.
Syntax
object.MouseDblClick x, y, [Button]
Arguments
| Parameter | Description | 
|---|---|
| x | An integer value. The x-coordinate of the double-click, relative to the top left corner of the screen.  | 
| y | 
					An integer value. The y-coordinate of the double-click, relative to the top left corner of the screen.  | 
| Button | 
					Optional. A predefined constant or number. Possible values: 0 = LEFT_MOUSE_BUTTON (Default) 1 = MIDDLE_MOUSE_BUTTON 2 = RIGHT_MOUSE_BUTTON  | 
Return Type
None
Example
'The following example retrieves an object's location on the screen ' and uses the MouseDblClick method to double-click that location with an offset of 6X4 'because the object.DblClick was not working. x_coord = Window("Notepad").GetROProperty("abs_x") y_coord = Window("Notepad").GetROProperty("abs_y") Set deviceReplayObject=CreateObject("Mercury.DeviceReplay") deviceReplayObject.MouseDblClick x_coord + 6, y_coord + 4, LEFT_MOUSE_BUTTON
Method
Description
Presses the mouse in one location and releases it in another.
Syntax
object.DragAndDrop DragX, DragY, DropX, DropY, [Button]
Arguments
| Parameter | Description | 
|---|---|
| DragX | 
					An integer value. The x-coordinate of the location to press the mouse, relative to the top left corner of the screen.  | 
| DragY | 
					An integer value. The y-coordinate of the location to press the mouse, relative to the top left corner of the screen.  | 
| DropX | An integer value. The x-coordinate of the location to release the mouse, relative to the top left corner of the screen.  | 
| DropY | 
					An integer value. The y-coordinate of the location to release the mouse, relative to the top left corner of the screen.  | 
| Button | 
					Optional. A predefined constant or number. Possible values: 0 = LEFT_MOUSE_BUTTON (Default) 1 = MIDDLE_MOUSE_BUTTON 2 = RIGHT_MOUSE_BUTTON  | 
Return Type
None
PressKey Method
Description
Presses and releases the specified keyboard key.
Syntax
object.PressKey Key
Arguments
| Parameter | Description | 
|---|---|
| Key | A numeric value. The decimal value of the key's IBM Scan Code. See Key Values.  | 
Return Type
None
Example
Const VK_CONTROL = 29
Const VK_A = 30
Const VK_C = 46
 
Window("Notepad++").Activate
Set myDeviceReplay = CreateObject("Mercury.DeviceReplay")
 
'Select all the file content and copy to clipboard
myDeviceReplay.KeyDown VK_CONTROL
myDeviceReplay.PressKey VK_A
myDeviceReplay.PressKey VK_C
myDeviceReplay.KeyUp VK_CONTROL
PressNKeys Method
Description
Presses the specified keyboard key a specified number of times.
Syntax
object.PressNKeys Key, N
Arguments
| Parameter | Description | 
|---|---|
| Key | A numeric value. The decimal value of the key's IBM Scan Code. See Key Values.  | 
| N | A numeric value.  | 
Return Type
None
MouseDown Method
Description
Presses the mouse button at the specified screen location.
Syntax
object.MouseDown x, y, [Button]
Arguments
| Parameter | Description | 
|---|---|
| x | 
					An integer value. The x-coordinate of the location, relative to the top left corner of the screen.  | 
| y | An integer value. The y-coordinate of the location, relative to the top left corner of the screen.  | 
| Button | 
					Optional. A predefined constant or number. Possible values: 0 = LEFT_MOUSE_BUTTON (Default) 1 = MIDDLE_MOUSE_BUTTON 2 = RIGHT_MOUSE_BUTTON  | 
Return Type
None
Example
'The following example retrieves an object's location on the screen ' and uses the MousePress method to press the mouse's middle button 'at that location with an offset of 6X4 because the object.Click was not working. x_coord = Window("Notepad").GetROProperty("abs_x") y_coord = Window("Notepad").GetROProperty("abs_y") Set deviceReplayObject=CreateObject("Mercury.DeviceReplay") deviceReplayObject.MousePress x_coord + 6, y_coord + 4, MIDDLE_MOUSE_BUTTON
MouseMove Method
Description
Moves the mouse pointer to the specified screen location.
Syntax
object.MouseMove x, y
Arguments
| Parameter | Description | 
|---|---|
| x | 
					An integer value. The x-coordinate of the location, relative to the top left corner of the screen.  | 
| y | 
					An integer value. The y-coordinate of the location, relative to the top left corner of the screen.  | 
Return Type
None
Example
'The following example retrieves an object's location on the screen ' and uses the MouseMove method to position the mouse at that location with an offset of 6X4. x_coord = Window("Notepad").GetROProperty("abs_x") y_coord = Window("Notepad").GetROProperty("abs_y") Set deviceReplayObject=CreateObject("Mercury.DeviceReplay") deviceReplayObject.MouseMove x_coord + 6, y_coord + 4
MouseUp
Description
Releases the mouse button at the specified screen location.
Syntax
object.MouseUp x, y, [Button]
Arguments
| Parameter | Description | 
|---|---|
| x | 
					 An integer value. The x-coordinate of the location, relative to the top left corner of the screen.  | 
| y | 
					An integer value. The y-coordinate of the location, relative to the top left corner of the screen.  | 
| Button | 
					Optional. A predefined constant or number. Possible values: 0 = LEFT_MOUSE_BUTTON (Default) 1 = MIDDLE_MOUSE_BUTTON 2 = RIGHT_MOUSE_BUTTON  | 
Return Type
None
Example
'The following example retrieves an object's location on the screen ' and uses the MouseUp method to release the mouse middle button ' at that location with an offset of 6X4. x_coord = Window("Notepad").GetROProperty("abs_x") y_coord = Window("Notepad").GetROProperty("abs_y") Set deviceReplayObject=CreateObject("Mercury.DeviceReplay") deviceReplayObject.MouseUp x_coord + 6, y_coord + 4, MIDDLE_MOUSE_BUTTON
KeyDown Method
Description
Releases the mouse button at the specified screen location.
Syntax
object.KeyDown Key
Arguments
| Parameter | Description | 
|---|---|
| Key | A numeric value. The decimal value of the key's IBM Scan Code. See Key Values.  | 
Return Type
None
Example
Const VK_CONTROL = 29
Const VK_A = 30
Const VK_C = 46
 
Window("Notepad++").Activate
Set myDeviceReplay = CreateObject("Mercury.DeviceReplay")
 
'Select all the file content and copy to clipboard
myDeviceReplay.KeyDown VK_CONTROL
myDeviceReplay.PressKey VK_A
myDeviceReplay.PressKey VK_C
myDeviceReplay.KeyUp VK_CONTROLKeyUp Method
Description
Releases the specified keyboard key.
Syntax
object.KeyUp Key
Arguments
| Parameter | Description | 
|---|---|
| Key | A numeric value. The decimal value of the key's IBM Scan Code. See Key Values.  | 
Return Type
None
Example
Const VK_CONTROL = 29
Const VK_A = 30
Const VK_C = 46
 
Window("Notepad++").Activate
Set myDeviceReplay = CreateObject("Mercury.DeviceReplay")
 
'Select all the file content and copy to clipboard
myDeviceReplay.KeyDown VK_CONTROL
myDeviceReplay.PressKey VK_A
myDeviceReplay.PressKey VK_C
myDeviceReplay.KeyUp VK_CONTROL
 
'get the text from the clipboard
Dim textContent
textContent = CreateObject("htmlfile").ParentWindow.ClipboardData.Getdata("text")
'Create a regular expression to find specific content according to its prefix and postfix
Set RegularExoressionObject = New RegExp
With RegularExoressionObject 	.Pattern  = "Prefix(.*)Postfix"
	.IgnoreCase = True
	.Global     = False
End
With Set objMatch = RegularExoressionObject.Execute( textContent )
' Retrieve a unique match
	txt = "empty"
If objMatch.Count = 1 Then 
	txt = objMatch.Item(0).submatches(0)
	print txt
	msgbox txt
End IfSendString Method
Description
Types a string.
Syntax
object.SendString wStr
Arguments
| Parameter | Description | 
|---|---|
| wStr | A String value. 
					    The string to type.
					  | 
Return Type
None
Key Values
For DeviceReplay operations that receive keyboard keys as arguments, use the following key values. These are the decimal values of the keys' IBM Scan Codes.
| Key | Value | Key | Value | 
|---|---|---|---|
| A | 30 | `  | 41  | 
| B | 48 | - | 12 | 
| C | 46 | = | 13 | 
| D | 32 | \ | 43  | 
| E | 18 | BKSP  | 14 | 
| F | 33 | TAB | 15 | 
| G | 34 | L SHFT | 42  | 
| H | 35 | L CTRL | 29 | 
| I | 23 | L ALT | 56 | 
| J | 36 | R SHFT | 54 | 
| K | 37 | R CTRL  | 157  | 
| L | 38 | R ALT | 184 | 
| M | 50 | ENTER | 28 | 
| N | 49 | ESC | 1 | 
| O | 24 | SCROLL  | 70 | 
| P | 25 | [ | 26  | 
| Q | 16 | ] | 27 | 
| R | 19 | INSERT | 210 | 
| S | 31 | HOME | 199 | 
| T | 20 | PG UP | 201 | 
| U | 22 | DELETE | 211 | 
| V | 47 | END | 207 | 
| W | 17 | PG DN | 209 | 
| X | 45 | U ARROW  | 200 | 
| Y | 21 | L ARROW | 203 | 
| Z | 44 | D ARROW | 208 | 
| 0 | 11 | R ARROW | 205 | 
| 1 | 2 | ;  | 39 | 
| 2 | 3 | ' | 40 | 
| 3 | 4 | , | 51 | 
| 4 | 5 | . | 52 | 
| 5 | 6 | / | 53 | 
| 6 | 7 | Keypad /  | 181 | 
| 7 | 8 | Keypad *  | 55 | 
| 8 | 9 | Keypad -  | 74 | 
| 9 | 10 | Keypad +  | 78 | 
| SPACE | 57 | Keypad EN  | 156 | 
CAPS  | 58 | Keypad .  | 83 | 
| F1 | 59 | Keypad 0  | 82 | 
| F2 | 60 | Keypad 1 | 79 | 
| F3 | 61 | Keypad 2 | 80 | 
| F4 | 62 | Keypad 3 | 81 | 
| F5 | 63 | Keypad 4 | 75 | 
| F6 | 64 | Keypad 5 | 76 | 
| F7 | 65 | Keypad 6 | 77 | 
| F8 | 66 | Keypad 7 | 71 | 
| F9 | 67 | Keypad 8 | 72 | 
| F10 | 68 | Keypad 9 | 73 | 
| F11 | 87 | ||
| F12 | 88 | ||
NUM  | 69 | 
 See also: 
- Crypt Object
 - DataTable Object
 - Description Object
 - DeviceReplay Object
 - DotNetFactory Object
 - DTParameter Object
 - DT Sheet Object
 - Environment Object
 - Extern Object
 - Parameter Object
 - JSON Object
 - JsonUtil Object
 - MercuryTimers Object (Collection)
 - MercuryTimer Object
 - NV Object
 - OptionalStep Object
 - ParallelUtil Object
 - LocalParameter Object
 - PasswordUtil Object
 - PathFinder Object
 - PDFUtil Object
 - Properties Object (Collection)
 - QCUtil Object
 - RandomNumber Object
 - Recovery Object
 - Remote Connection Object
 - Reporter Object
 - RepositoriesCollection Object
 - Repository Object
 - Services Object
 - Setting Object
 - SystemMonitor Object
 - TestArgs Object
 - TextUtil Object
 - UIAutomation Object
 - VisualRelation Object
 - VisualRelations Object
 - VisualRelationsCollection Object
 - WebUtil Object
 - XMLUtil Object
 

                                                        
                                                        
                                                        
                                                        
                                                        
 
 
                                                            
                                                            
                                        
                                        