Control functions

Control actions are used to launch a program, switch focus to a specific application, jump to specific macro section or to repeat a section of a macro script.

Execute program

Macro Recorder can launch a 3rd party program with optional parameters:

Make sure that the program is installed on the computer on which you are executing the macro.

Window change

Waits for the appearance of a window, defined by its window title. You can leave title entry empty or use * as a placeholder in the window title/class text string.

If the window exists, Macro Recorder switches focus to that window and optionally restores the windows dimensions and position if it differs from the dimensions at the time of the macro recording to ensure that all recorded mouse actions fit.

Macro playback cancels if the window cannot be restored within the current display dimensions.

Macro actions following a window change are visually grouped by a customizable background color for better readability.

The time-out section provides fallback options if the window does not appear within the configured wait time. The macro execution can either abort, repeat from scratch, ignore the no-show of the color and just continue or jump to the specified label.


Jumps to the action with the specified label. The macro plackback aborts if the label doesn't exist.


Jumps to the specified label for the given number of repetitions or amount of time. After the last repetition it jumps to the action with the specified label.

Parameter Change

Macro Recorder can change parameters of other actions for each macro playback repetition cycle. It can increment/decrement a parameter, randomize parameters and use a list of parameters in file to replace static parameters of your actions:


The Randomize parameter action replaces the defined value type of all subsequent macro actions until the specified label with a random number in a customizable range.

Example: This randomize parameter action replaces the X coordinate with a random number between 100 and 500:

The random parameter overwrites any specified value in the subsequent actions until the click action with the custom label "RandomClicks".

In this example script, the X and Y coordinate of the first two clicks are randomized on each playback loop:

The last click action will not be affected by the randomization actions as it is not between the randomization actions and the label "RandomClicks".


The increment parameter action inc/decrements the defined value type of all subsequent macro actions up to the specified label.

Example: This increment parameter action increases the delay or timeout time by 150 for each replay (excluding) of the next action:

Any subsequent action following the next action is not affected by this parameter action in this example.

Parameter list

The parameter list action replaces the defined value type of all subsequent macro actions until the specified label with one line of list of parameter values (or text).

Example: This parameter list action replaces the text field of the next action with the an item of the specified list (line-by-line):

In the first playback repetition, it takes the text "Buggatti", on the second repetition, it takes "Detomaso", etc.

You can either enter the list manually in the input box or read the list from a text file.