Hallo,
du hast schon ganz recht, dass Singleton das richtige Muster ist.
Und mit genau dem Schlagwort kannst du doch beim nächsten Mal auch gerne die Hilfedatei, die auch in Deutsch erhältlich ist, durchsuchen. Diese ist sehr nützlich und enthält zudem Codebeispiele.
Hier ein nur minimal angepasstes Codebeispiel, das der Hilfedatei entnommen wurde:
AutoIt
#include <Misc.au3>
#include <MsgBoxConstants.au3>
If _Singleton("test", 1) = 0 Then
; Hier muss der Code rein, wenn es vorher bereits aufgerufen wurde und die erste Instanz noch läuft
MsgBox($MB_SYSTEMMODAL, "Warning", "An occurrence of test is already running")
Else
;Hier muss der Code des ersten Programmstarts rein
MsgBox($MB_SYSTEMMODAL, "OK", "the first occurrence of test is running")
EndIf