Bestimmt, ob ein bereits laufendes Skript erneut ausgeführt werden darf.
#SingleInstance ForceIgnorePromptOff
Wenn weggelassen, wird standardmäßig Prompt verwendet. Andernfalls geben Sie eines der folgenden Wörter an:
Force: Überspringt das Dialogfenster und ersetzt automatisch die alte Instanz, was einen ähnlichen Effekt hat wie der Reload-Befehl.
Ignore: Überspringt das Dialogfenster und lässt die alte Instanz weiterlaufen. Das heißt, dass jegliche Versuche, ein bereits laufendes Skript zu starten, ignoriert werden.
Prompt: Zeigt ein Dialogfenster an, das den Benutzer fragt, ob die alte Instanz beibehalten oder mit einer neuen Instanz ersetzt werden soll.
Off: Erlaubt die gleichzeitige Ausführung mehrerer Instanzen des Skripts.
Wenn diese Direktive in einem Skript, das Hotkeys, Hotstrings, #Persistent, OnMessage() oder Gui enthält, nicht angegeben ist, verhält sie sich so, als wäre sie auf Prompt gesetzt. In jedem anderen Skript verhält sie sich so, als wäre sie auf Off gesetzt. Dieses Verhalten kann wie oben beschrieben deaktiviert oder geändert werden.
Diese Direktive wird ignoriert, wenn eine der folgenden Befehlszeilenoptionen verwendet wird: /force /f /restart /r
#SingleInstance kann wie alle anderen Direktiven nicht bedingt ausgeführt werden.
Um ältere Instanzen des Skripts zu identifizieren, wird nach einem Hauptfenster mit dem Standardtitel gesucht. Dies hat zur Folge, dass eine ältere Instanz nicht gefunden wird, wenn Folgendes zutrifft:
Es wird höchstens eine ältere Instanz erkannt und zum Schließen aufgefordert (durch Senden einer Meldung). Dies führt zu folgenden zusätzlichen Einschränkungen:
#SingleInstance Off
-Modus verwendet haben), wird nur die oberste übereinstimmende Instanz zum Schließen aufgefordert - alle anderen werden nicht berücksichtigt.Wenn mehrere Instanzen des Skripts gleichzeitig gestartet werden, kann es vorkommen, dass sie sich gegenseitig nicht erkennen oder alle auf dieselbe ältere Instanz verweisen. Dies würde dazu führen, dass mehrere Instanzen des Skripts gestartet werden.