#SingleInstance

Determines whether a script is allowed to run again when it is already running.

#SingleInstance ForceIgnorePromptOff

Parameters

ForceIgnorePromptOff

If omitted, it defaults to Prompt. Otherwise, specify one of the following words:

Force: Skips the dialog box and replaces the old instance automatically, which is similar in effect to the Reload command.

Ignore: Skips the dialog box and leaves the old instance running. In other words, attempts to launch an already-running script are ignored.

Prompt: Displays a dialog box asking whether to keep the old instance or replace it with the new one.

Off: Allows multiple instances of the script to run concurrently.

Remarks

If this directive is unspecified in a script containing hotkeys, hotstrings, #Persistent, OnMessage(), or Gui, it will behave as though set to Prompt. In any other script, it will behave as though set to Off. This behavior can be disabled or modified as described above.

This directive is ignored when any of the following command line switches are used: /force /f /restart /r

Like other directives, #SingleInstance cannot be executed conditionally.

Limitations

Previous instances of the script are identified by searching for a main window with the default title. Therefore, a previous instance may not be found if:

At most one previous instance is detected and sent a message asking it to close. Therefore, the following additional limitations also apply:

If multiple instances of the script are started simultaneously, they may fail to detect each other or may all target the same previous instance. This would result in multiple instances of the script starting.

Reload, #Persistent

Examples

Skips the dialog box and replaces the old instance automatically.

#SingleInstance Force