#Region    ;************ Includes ************
#include <Misc.au3>
#include <GUIConstantsEx.au3>
#EndRegion ;************ Includes ************
If _Singleton(@ScriptName, 1) Then
    ; Juhu, ich bin allein...
    _Main()
Else
    ; Es läuft bereits eine Instanz...
    Local $hWnd = WinGetHandle(@ScriptName), $hCtrl = ControlGetHandle($hWnd, '', '[CLASS:Static; INSTANCE:1]')
    If IsHWnd($hCtrl) Then
        ControlSetText($hCtrl, '', '', 'Verpiss dich...')
        ControlClick($hCtrl, '', '') ; Klopf, klopf... etwas Zeit zum (Lesen des neuen Textes und) Beenden des Scriots geben,
        If Not WinWaitClose($hWnd, '', 5) Then ; 5 Sekunden...  damit es evtl. noch Daten speichern kann.
            WinClose($hWnd) ; Was, der will nicht spuren? Dann eben so...
        EndIf
    EndIf
EndIf
Func _Main()
    #Region - GUI Create
    Local $hGUI = GUICreate(@ScriptName)
    GUISetBkColor(0x280000)
    Local $idLabel_Singleton = GUICtrlCreateLabel('Mich gibt es nur 1x ;-)', 10, 10, 250)
    GUICtrlSetFont(-1, 14)
    GUICtrlSetColor(-1, 0xFF0000)
    GUISetState()
    #EndRegion
    #Region - GUI SwitchLoop
    While True
        Switch GUIGetMsg()            ;switch ändert ereignis je nach case
            Case $GUI_EVENT_CLOSE
                Exit
            Case $idLabel_Singleton
                Sleep(300*60*1)     ;nach x script beenden
                GUICtrlSetData($idLabel_Singleton, 'Ja, ich gehe ja schon...')
                Sleep(1500)
                Exit
;~             Case
;~             Case
;~             Case
;~             Case Else
        EndSwitch
    WEnd
    #EndRegion
EndFunc
