;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;scripted by xp_fan;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
#include <Process.au3>
#include <Misc.au3>

#NoTrayIcon

Opt("TrayMenuMode", 1)
HotKeySet("{ESC}", "_Ende")

Global $st = IniRead(@ScriptDir & "\GDIPlusDigitaluhr.ini", "Transparenz", "Transparenz", "255")
Global $udc = IniRead(@ScriptDir & "\GDIPlusDigitaluhr.ini", "Farbe", "Vordergrund", "0xFF00FF00")
Global $coloractive, $choosecoloractive
Global $colornotactive, $choosecolornotactive
Global $hPen1, $hPen2, $hPen3

If $CmdLine[0] = 2 Then
	_SelectColors($CmdLine[1], $CmdLine[2])
Else
	_SelectColors(IniRead(@ScriptDir & "\GDIPlusDigitaluhr.ini", "Farbe", "Vordergrund", "0xFF00FF00"), IniRead(@ScriptDir & "\GDIPlusDigitaluhr.ini", "Farbe", "Hintergrund", "0xFF004400"))
EndIf

Global $ini = @ScriptDir & "\GDIPlusDigitaluhr.ini"
Global $aPoints1[7][2], $aPoints4[7][2]
Global $title = "GDI+ Digitaluhr V. 2.0"
Global $width = 620, $height = 175
Global $hWnd = GUICreate($title, $width, $height, "", "", $WS_POPUP)
GUISetBkColor(0x000000)
Global $Label1 = GUICtrlCreateLabel("", 0, 0, $width, $height, Default, $GUI_WS_EX_PARENTDRAG)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUISetState(@SW_SHOW)
WinSetTrans($title, "", $st)


Global $counter = 0
Global $counter2 = 0
Global $counter3 = 0

_GDIPlus_Startup()

Global $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd)
Global $hBitmap = _GDIPlus_BitmapCreateFromGraphics($width, $height, $hGraphic)
Global $hBackbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
;~ _GDIPlus_GraphicsSetSmoothingMode($hBackbuffer, 4)

$context = GUICtrlCreateContextMenu($Label1)
$farben = GUICtrlCreateMenu("Farben", $context)
$rot = GUICtrlCreateMenuItem("Rot", $farben)
$gruen = GUICtrlCreateMenuItem("Grün", $farben)
$blau = GUICtrlCreateMenuItem("Blau", $farben)
$lila = GUICtrlCreateMenuItem("Lila", $farben)
$orange = GUICtrlCreateMenuItem("Orange", $farben)
$gelb = GUICtrlCreateMenuItem("Gelb", $farben)
$wei = GUICtrlCreateMenuItem("Weiß", $farben)
$t = GUICtrlCreateMenu("Transparenz", $context)
$nichtt = GUICtrlCreateMenuItem("Nicht transparent", $t)
$schwacht = GUICtrlCreateMenuItem("Schwach transparent", $t)
$halbt = GUICtrlCreateMenuItem("Halb transparent", $t)
$ontop = GUICtrlCreateMenu("Always on Top", $context)
$aoty = GUICtrlCreateMenuItem("Ja", $ontop)
$aotn = GUICtrlCreateMenuItem("Nein", $ontop)
GUICtrlCreateMenuItem("", $context)
$www = GUICtrlCreateMenuItem("Autoit.de aufrufen", $context)
GUICtrlCreateMenuItem("", $context)
$aktualisieren = GUICtrlCreateMenuItem("Uhr aktualisieren", $context)
GUICtrlCreateMenuItem("", $context)
$about = GUICtrlCreateMenuItem("Über diese Programm", $context)
GUICtrlCreateMenuItem("", $context)
$exit = GUICtrlCreateMenuItem("Beenden", $context)

WinSetOnTop($title, "", 1)
GUICtrlSetState($aoty, $GUI_CHECKED)
Switch $udc
	Case "0xFFFF0000"
		GUICtrlSetState($rot, $GUI_CHECKED)
	Case "0xFF0000FF"
		GUICtrlSetState($blau, $GUI_CHECKED)
	Case "0xFF00FF00"
		GUICtrlSetState($gruen, $GUI_CHECKED)
	Case "0xFF8B00FF"
		GUICtrlSetState($lila, $GUI_CHECKED)
	Case "0xFFFFA100"
		GUICtrlSetState($orange, $GUI_CHECKED)
	Case "0xFFFFFF00"
		GUICtrlSetState($gelb, $GUI_CHECKED)
	Case "0xFFFFFFFF"
		GUICtrlSetState($wei, $GUI_CHECKED)
EndSwitch

Switch $st
	Case 255
		GUICtrlSetState($nichtt, $GUI_CHECKED)
	Case 200
		GUICtrlSetState($nichtt, $GUI_CHECKED)
	Case 150
		GUICtrlSetState($halbt, $GUI_CHECKED)
EndSwitch


_GDIPlus_GraphicsDrawEllipse($hBackbuffer, 196, 50, 15, 15, $hPen1)
_GDIPlus_GraphicsDrawEllipse($hBackbuffer, 196, 100, 15, 15, $hPen1)
_GDIPlus_GraphicsDrawEllipse($hBackbuffer, 405, 50, 15, 15, $hPen1)
_GDIPlus_GraphicsDrawEllipse($hBackbuffer, 405, 100, 15, 15, $hPen1)

_GDIPlus_GraphicsFillEllipse($hBackbuffer, 196, 50, 15, 15, $hPen3)
_GDIPlus_GraphicsFillEllipse($hBackbuffer, 196, 100, 15, 15, $hPen3)
_GDIPlus_GraphicsFillEllipse($hBackbuffer, 405, 50, 15, 15, $hPen3)
_GDIPlus_GraphicsFillEllipse($hBackbuffer, 405, 100, 15, 15, $hPen3)

U1()
U2()
U3()
U4()
U5()
U6()
_Dot()

Global $Hour = @HOUR
Global $Minutes = @MIN
Global $Seconds1 = StringLeft(@SEC, 1)
Global $Seconds2 = StringRight(@SEC, 1)

Global $sleep = 50
GUIRegisterMsg($WM_TIMER, "_Update") ;$WM_TIMER = 0x0113                                  ; Vielen Dank an UEZ für diesen Abschnitt
DllCall("User32.dll", "int", "SetTimer", "hwnd", $hWnd, "int", 0, "int", $sleep, "int", 0); Vielen Dank an UEZ für diesen Abschnitt

While 1
	$msg = GUIGetMsg()
	Switch $msg
		Case $rot
			IniWrite($ini, "Farbe", "Vordergrund", "0xFFFF0000")
			IniWrite($ini, "Farbe", "Hintergrund", "0xFF220000")
			Sleep(200)
			_Farbe(0xFFFF0000, 0xFF440000)
		Case $gruen
			IniWrite($ini, "Farbe", "Vordergrund", "0xFF00FF00")
			IniWrite($ini, "Farbe", "Hintergrund", "0xFF002200")
			Sleep(200)
			_Farbe(0xFF00FF00, 0xFF004400)
		Case $blau
			IniWrite($ini, "Farbe", "Vordergrund", "0xFF0000FF")
			IniWrite($ini, "Farbe", "Hintergrund", "0xFF000022")
			Sleep(200)
			_Farbe(0xFF0000FF, 0xFF000044)
		Case $lila
			IniWrite($ini, "Farbe", "Vordergrund", "0xFF8B00FF")
			IniWrite($ini, "Farbe", "Hintergrund", "0xFF000022")
			Sleep(200)
			_Farbe(0xFF8B00FF, 0xFF000044)
		Case $orange
			IniWrite($ini, "Farbe", "Vordergrund", "0xFFFFA100")
			IniWrite($ini, "Farbe", "Hintergrund", "0xFF441A00")
			Sleep(200)
			_Farbe(0xFFFFA100, 0xFF441A00)
		Case $gelb
			IniWrite($ini, "Farbe", "Vordergrund", "0xFFFFFF00")
			IniWrite($ini, "Farbe", "Hintergrund", "0xFF222200")
			Sleep(200)
			_Farbe(0xFFFFFF00, 0xFF444400)
		Case $wei
			IniWrite($ini, "Farbe", "Vordergrund", "0xFFFFFFFF")
			IniWrite($ini, "Farbe", "Hintergrund", "0xFF222222")
			Sleep(200)
			_Farbe(0xFFFFFFFF, 0xFF444444)
		Case $www
			ShellExecute("www.autoit.de")
		Case $nichtt
			GUICtrlSetState($nichtt, $GUI_CHECKED)
			GUICtrlSetState($schwacht, $GUI_UNCHECKED)
			GUICtrlSetState($halbt, $GUI_UNCHECKED)
			WinSetTrans($title, "", 255)
			IniWrite($ini, "Transparenz", "Transparenz", "255")
			U1()
			U2()
			U3()
			U4()
			U5()
			U6()
			_Dot()
		Case $schwacht
			GUICtrlSetState($schwacht, $GUI_CHECKED)
			GUICtrlSetState($halbt, $GUI_UNCHECKED)
			GUICtrlSetState($nichtt, $GUI_UNCHECKED)
			WinSetTrans($title, "", 200)
			IniWrite($ini, "Transparenz", "Transparenz", "200")
			U1()
			U2()
			U3()
			U4()
			U5()
			U6()
			_Dot()
		Case $halbt
			GUICtrlSetState($halbt, $GUI_CHECKED)
			GUICtrlSetState($schwacht, $GUI_UNCHECKED)
			GUICtrlSetState($nichtt, $GUI_UNCHECKED)
			WinSetTrans($title, "", 150)
			IniWrite($ini, "Transparenz", "Transparenz", "150")
			U1()
			U2()
			U3()
			U4()
			U5()
			U6()
			_Dot()
		Case $aoty
			WinSetOnTop($title, "", 1)
			GUICtrlSetState($aoty, $GUI_CHECKED)
			GUICtrlSetState($aotn, $GUI_UNCHECKED)
		Case $aotn
			WinSetOnTop($title, "", 0)
			GUICtrlSetState($aotn, $GUI_CHECKED)
			GUICtrlSetState($aoty, $GUI_UNCHECKED)
		Case $aktualisieren
			U1()
			U2()
			U3()
			U4()
			U5()
			U6()
			_Dot()
		Case $about
			MsgBox(262208, "Über dieses Programm", "Dieses Programm wurde von xp_fan aus der deutschen AutoIt-Community www.autoit.de geschrieben!" & Chr(10) & "Besonderen Dank an tobi_girst, Oscar, Andy und UEZ von Autoit.de für ihre Hilfe!")
			U1()
			U2()
			U3()
			U4()
			U5()
			U6()
			_Dot()
		Case $exit
			_Ende()
	EndSwitch
	_GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, 0, 0, $width, $height)
WEnd

Func U1()
	$h1 = StringLeft(@HOUR, 1)
	Switch $h1
		Case 0
			_7s(20, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(20, 20, 0, $coloractive, $colornotactive, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive);0
		Case 1
			_7s(20, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(20, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $coloractive, $coloractive);1
		Case 2
			_7s(20, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(20, 20, 0, $coloractive, $coloractive, $coloractive, $colornotactive, $coloractive, $coloractive, $colornotactive);2
		Case 3
			_7s(20, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(20, 20, 0, $coloractive, $coloractive, $coloractive, $colornotactive, $colornotactive, $coloractive, $coloractive);3
		Case 4
			_7s(20, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(20, 20, 0, $colornotactive, $coloractive, $colornotactive, $coloractive, $colornotactive, $coloractive, $coloractive);4
		Case 5
			_7s(20, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(20, 20, 0, $coloractive, $coloractive, $coloractive, $coloractive, $colornotactive, $colornotactive, $coloractive);5
		Case 6
			_7s(20, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(20, 20, 0, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive, $colornotactive, $coloractive);6
		Case 7
			_7s(20, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(20, 20, 0, $coloractive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $coloractive, $coloractive);7
		Case 8
			_7s(20, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(20, 20, 0, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive);8
		Case 9
			_7s(20, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(20, 20, 0, $coloractive, $coloractive, $coloractive, $coloractive, $colornotactive, $coloractive, $coloractive);9
	EndSwitch
EndFunc   ;==>U1

Func U2()
	$h2 = StringRight(@HOUR, 1)
	Switch $h2
		Case 0
			_7s(115, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(115, 20, 0, $coloractive, $colornotactive, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive);0
		Case 1
			_7s(115, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(115, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $coloractive, $coloractive);1
		Case 2
			_7s(115, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(115, 20, 0, $coloractive, $coloractive, $coloractive, $colornotactive, $coloractive, $coloractive, $colornotactive);2
		Case 3
			_7s(115, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(115, 20, 0, $coloractive, $coloractive, $coloractive, $colornotactive, $colornotactive, $coloractive, $coloractive);3
		Case 4
			_7s(115, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(115, 20, 0, $colornotactive, $coloractive, $colornotactive, $coloractive, $colornotactive, $coloractive, $coloractive);4
		Case 5
			_7s(115, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(115, 20, 0, $coloractive, $coloractive, $coloractive, $coloractive, $colornotactive, $colornotactive, $coloractive);5
		Case 6
			_7s(115, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(115, 20, 0, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive, $colornotactive, $coloractive);6
		Case 7
			_7s(115, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(115, 20, 0, $coloractive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $coloractive, $coloractive);7
		Case 8
			_7s(115, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(115, 20, 0, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive);8
		Case 9
			_7s(115, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(115, 20, 0, $coloractive, $coloractive, $coloractive, $coloractive, $colornotactive, $coloractive, $coloractive);9
	EndSwitch
EndFunc   ;==>U2

Func U3()
	$h3 = StringLeft(@MIN, 1)
	Switch $h3
		Case 0
			_7s(230, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(230, 20, 0, $coloractive, $colornotactive, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive);0
		Case 1
			_7s(230, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(230, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $coloractive, $coloractive);1
		Case 2
			_7s(230, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(230, 20, 0, $coloractive, $coloractive, $coloractive, $colornotactive, $coloractive, $coloractive, $colornotactive);2
		Case 3
			_7s(230, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(230, 20, 0, $coloractive, $coloractive, $coloractive, $colornotactive, $colornotactive, $coloractive, $coloractive);3
		Case 4
			_7s(230, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(230, 20, 0, $colornotactive, $coloractive, $colornotactive, $coloractive, $colornotactive, $coloractive, $coloractive);4
		Case 5
			_7s(230, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(230, 20, 0, $coloractive, $coloractive, $coloractive, $coloractive, $colornotactive, $colornotactive, $coloractive);5
		Case 6
			_7s(230, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(230, 20, 0, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive, $colornotactive, $coloractive);6
		Case 7
			_7s(230, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(230, 20, 0, $coloractive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $coloractive, $coloractive);7
		Case 8
			_7s(230, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(230, 20, 0, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive);8
		Case 9
			_7s(230, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(230, 20, 0, $coloractive, $coloractive, $coloractive, $coloractive, $colornotactive, $coloractive, $coloractive);9
	EndSwitch
EndFunc   ;==>U3

Func U4()
	$h4 = StringRight(@MIN, 1)
	Switch $h4
		Case 0
			_7s(325, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(325, 20, 0, $coloractive, $colornotactive, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive);0
		Case 1
			_7s(325, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(325, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $coloractive, $coloractive);1
		Case 2
			_7s(325, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(325, 20, 0, $coloractive, $coloractive, $coloractive, $colornotactive, $coloractive, $coloractive, $colornotactive);2
		Case 3
			_7s(325, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(325, 20, 0, $coloractive, $coloractive, $coloractive, $colornotactive, $colornotactive, $coloractive, $coloractive);3
		Case 4
			_7s(325, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(325, 20, 0, $colornotactive, $coloractive, $colornotactive, $coloractive, $colornotactive, $coloractive, $coloractive);4
		Case 5
			_7s(325, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(325, 20, 0, $coloractive, $coloractive, $coloractive, $coloractive, $colornotactive, $colornotactive, $coloractive);5
		Case 6
			_7s(325, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(325, 20, 0, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive, $colornotactive, $coloractive);6
		Case 7
			_7s(325, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(325, 20, 0, $coloractive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $coloractive, $coloractive);7
		Case 8
			_7s(325, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(325, 20, 0, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive);8
		Case 9
			_7s(325, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(325, 20, 0, $coloractive, $coloractive, $coloractive, $coloractive, $colornotactive, $coloractive, $coloractive);9
	EndSwitch
EndFunc   ;==>U4

Func U5()
	$h5 = StringLeft(@SEC, 1)
	Switch $h5
		Case 0
			_7s(440, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(440, 20, 0, $coloractive, $colornotactive, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive);0
		Case 1
			_7s(440, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(440, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $coloractive, $coloractive);1
		Case 2
			_7s(440, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(440, 20, 0, $coloractive, $coloractive, $coloractive, $colornotactive, $coloractive, $coloractive, $colornotactive);2
		Case 3
			_7s(440, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(440, 20, 0, $coloractive, $coloractive, $coloractive, $colornotactive, $colornotactive, $coloractive, $coloractive);3
		Case 4
			_7s(440, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(440, 20, 0, $colornotactive, $coloractive, $colornotactive, $coloractive, $colornotactive, $coloractive, $coloractive);4
		Case 5
			_7s(440, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(440, 20, 0, $coloractive, $coloractive, $coloractive, $coloractive, $colornotactive, $colornotactive, $coloractive);5
		Case 6
			_7s(440, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(440, 20, 0, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive, $colornotactive, $coloractive);6
		Case 7
			_7s(440, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(440, 20, 0, $coloractive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $coloractive, $coloractive);7
		Case 8
			_7s(440, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(440, 20, 0, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive);8
		Case 9
			_7s(440, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(440, 20, 0, $coloractive, $coloractive, $coloractive, $coloractive, $colornotactive, $coloractive, $coloractive);9
	EndSwitch
EndFunc   ;==>U5

Func U6()
	$h6 = StringRight(@SEC, 1)
	Switch $h6
		Case 0
			_7s(535, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(535, 20, 0, $coloractive, $colornotactive, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive);0
		Case 1
			_7s(535, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(535, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $coloractive, $coloractive);1
		Case 2
			_7s(535, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(535, 20, 0, $coloractive, $coloractive, $coloractive, $colornotactive, $coloractive, $coloractive, $colornotactive);2
		Case 3
			_7s(535, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(535, 20, 0, $coloractive, $coloractive, $coloractive, $colornotactive, $colornotactive, $coloractive, $coloractive);3
		Case 4
			_7s(535, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(535, 20, 0, $colornotactive, $coloractive, $colornotactive, $coloractive, $colornotactive, $coloractive, $coloractive);4
		Case 5
			_7s(535, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(535, 20, 0, $coloractive, $coloractive, $coloractive, $coloractive, $colornotactive, $colornotactive, $coloractive);5
		Case 6
			_7s(535, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(535, 20, 0, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive, $colornotactive, $coloractive);6
		Case 7
			_7s(535, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(535, 20, 0, $coloractive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $coloractive, $coloractive);7
		Case 8
			_7s(535, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(535, 20, 0, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive, $coloractive);8
		Case 9
			_7s(535, 20, 0, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive, $colornotactive)
			_7s(535, 20, 0, $coloractive, $coloractive, $coloractive, $coloractive, $colornotactive, $coloractive, $coloractive);9
	EndSwitch
EndFunc   ;==>U6

Func _Dot()
	_GDIPlus_PenSetColor($hPen1, $colornotactive)
	_GDIPlus_BrushSetSolidColor($hPen2, $coloractive)
	_GDIPlus_BrushSetSolidColor($hPen3, $colornotactive)
	If $counter = 1 Then
		_GDIPlus_GraphicsFillEllipse($hBackbuffer, 196, 50, 15, 15, $hPen3)
		_GDIPlus_GraphicsFillEllipse($hBackbuffer, 196, 100, 15, 15, $hPen3)
		_GDIPlus_GraphicsFillEllipse($hBackbuffer, 405, 50, 15, 15, $hPen3)
		_GDIPlus_GraphicsFillEllipse($hBackbuffer, 405, 100, 15, 15, $hPen3)
		$counter = 0
	Else
		_GDIPlus_GraphicsFillEllipse($hBackbuffer, 196, 50, 15, 15, $hPen2)
		_GDIPlus_GraphicsFillEllipse($hBackbuffer, 196, 100, 15, 15, $hPen2)
		_GDIPlus_GraphicsFillEllipse($hBackbuffer, 405, 50, 15, 15, $hPen2)
		_GDIPlus_GraphicsFillEllipse($hBackbuffer, 405, 100, 15, 15, $hPen2)
		$counter = 1
	EndIf
EndFunc   ;==>_Dot


Func _Update()
	Select
		Case @HOUR <> $Hour
			U1()
			U2()
		Case @MIN <> $Minutes
			U1()
			U2()
			U3()
			U4()
			U5()
			U6()
		Case $Seconds1 <> StringLeft(@SEC, 1)
			U5()
			U6()
			_Dot()
		Case $Seconds2 <> StringRight(@SEC, 1)
			U6()
			_Dot()
	EndSelect
	$Seconds1 = StringLeft(@SEC, 1)
	$Seconds2 = StringRight(@SEC, 1)
	$Minutes = @MIN
	$Hour = @HOUR
	_GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, 0, 0, $width, $height)
EndFunc   ;==>_Update



Func _7s($x, $y, $delete = 0, $c1 = $colornotactive, $c2 = $colornotactive, $c3 = $colornotactive, $c4 = $colornotactive, $c5 = $colornotactive, $c6 = $colornotactive, $c7 = $colornotactive)
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	Local $aPoints1[7][2], $aPoints2[7][2], $aPoints3[7][2], $aPoints4[7][2], $aPoints5[7][2], $aPoints6[7][2], $aPoints7[7][2], $hPen[14], $Graphic[14]
	If $delete = 0 Then

		$Posx1 = $x
		$Posy1 = $y + 1
		$aPoints1[0][0] = 6

		$aPoints1[1][0] = $Posx1
		$aPoints1[1][1] = $Posy1 - 5

		$aPoints1[2][0] = $Posx1 + 10
		$aPoints1[2][1] = $Posy1 - 5

		$aPoints1[6][0] = $Posx1 + 10
		$aPoints1[6][1] = $Posy1 + 5

		$aPoints1[3][0] = $Posx1 + 50
		$aPoints1[3][1] = $Posy1 - 5

		$aPoints1[5][0] = $Posx1 + 50
		$aPoints1[5][1] = $Posy1 + 5

		$aPoints1[4][0] = $Posx1 + 60
		$aPoints1[4][1] = $Posy1 - 5

;~ 		_GDIPlus_Startup()

;~ 		$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd)
		$hPen[0] = _GDIPlus_PenCreate($c1)
		$hPen[1] = _GDIPlus_BrushCreateSolid($c1)
		$Graphic[0] = _GDIPlus_GraphicsDrawPolygon($hBackbuffer, $aPoints1, $hPen[0])
		$Graphic[1] = _GDIPlus_GraphicsFillPolygon($hBackbuffer, $aPoints1, $hPen[1])

		;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
		;;;;;;;;;;;;;;;;;;;;;;;;;;;;2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
		;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
		$Posx2 = $x
		$Posy2 = $y + 63
		$aPoints2[0][0] = 6

		$aPoints2[1][0] = $Posx2
		$aPoints2[1][1] = $Posy2

		$aPoints2[2][0] = $Posx2 + 10
		$aPoints2[2][1] = $Posy2 - 7

		$aPoints2[6][0] = $Posx2 + 10
		$aPoints2[6][1] = $Posy2 + 7

		$aPoints2[3][0] = $Posx2 + 50
		$aPoints2[3][1] = $Posy2 - 7

		$aPoints2[5][0] = $Posx2 + 50
		$aPoints2[5][1] = $Posy2 + 7

		$aPoints2[4][0] = $Posx2 + 60
		$aPoints2[4][1] = $Posy2
		$hPen[2] = _GDIPlus_PenCreate($c2)
		$hPen[3] = _GDIPlus_BrushCreateSolid($c2)
		$Graphic[2] = _GDIPlus_GraphicsDrawPolygon($hBackbuffer, $aPoints2, $hPen[2])
		$Graphic[3] = _GDIPlus_GraphicsFillPolygon($hBackbuffer, $aPoints2, $hPen[3])

		;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
		;;;;;;;;;;;;;;;;;;;;;;;;;;;;3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
		;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
		$Posx3 = $x - 1
		$Posy3 = $y + 125
		$aPoints3[0][0] = 6

		$aPoints3[1][0] = $Posx3
		$aPoints3[1][1] = $Posy3 + 5

		$aPoints3[2][0] = $Posx3 + 10
		$aPoints3[2][1] = $Posy3 - 5

		$aPoints3[6][0] = $Posx3 + 10
		$aPoints3[6][1] = $Posy3 + 5

		$aPoints3[3][0] = $Posx3 + 50
		$aPoints3[3][1] = $Posy3 - 5

		$aPoints3[5][0] = $Posx3 + 50
		$aPoints3[5][1] = $Posy3 + 5

		$aPoints3[4][0] = $Posx3 + 60
		$aPoints3[4][1] = $Posy3 + 5

		$hPen[4] = _GDIPlus_PenCreate($c3)
		$hPen[5] = _GDIPlus_BrushCreateSolid($c3)
		$Graphic[4] = _GDIPlus_GraphicsDrawPolygon($hBackbuffer, $aPoints3, $hPen[4])
		$Graphic[5] = _GDIPlus_GraphicsFillPolygon($hBackbuffer, $aPoints3, $hPen[5])


		;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
		;;;;;;;;;;;;;;;;;;;;;;;;;vertikal;;;;;;;;;;;;;;;;;;;;;;;;;
		;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

		;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
		;;;;;;;;;;;;;;;;;;;;;;;;;;;;4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
		;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
		$Posx4 = $x + 3
		$Posy4 = $y
		$aPoints4[0][0] = 6

		$aPoints4[1][0] = $Posx4 - 5
		$aPoints4[1][1] = $Posy4

		$aPoints4[2][0] = $Posx4 + 5
		$aPoints4[2][1] = $Posy4 + 10

		$aPoints4[3][0] = $Posx4 + 5
		$aPoints4[3][1] = $Posy4 + 50

		$aPoints4[4][0] = $Posx4 - 5
		$aPoints4[4][1] = $Posy4 + 60

		$aPoints4[5][0] = $Posx4 - 5
		$aPoints4[5][1] = $Posy4 + 50

		$aPoints4[6][0] = $Posx4 - 5
		$aPoints4[6][1] = $Posy4 + 10
		$hPen[6] = _GDIPlus_PenCreate($c4)
		$hPen[7] = _GDIPlus_BrushCreateSolid($c4)
		$Graphic[6] = _GDIPlus_GraphicsDrawPolygon($hBackbuffer, $aPoints4, $hPen[6])
		$Graphic[7] = _GDIPlus_GraphicsFillPolygon($hBackbuffer, $aPoints4, $hPen[7])

		;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
		;;;;;;;;;;;;;;;;;;;;;;;;;;;;5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
		;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
		$Posx5 = $x + 3
		$Posy5 = $y + 66
		$aPoints5[0][0] = 6

		$aPoints5[1][0] = $Posx5 - 5
		$aPoints5[1][1] = $Posy5

		$aPoints5[2][0] = $Posx5 + 5
		$aPoints5[2][1] = $Posy5 + 10

		$aPoints5[3][0] = $Posx5 + 5
		$aPoints5[3][1] = $Posy5 + 50

		$aPoints5[4][0] = $Posx5 - 5
		$aPoints5[4][1] = $Posy5 + 60

		$aPoints5[5][0] = $Posx5 - 5
		$aPoints5[5][1] = $Posy5 + 50

		$aPoints5[6][0] = $Posx5 - 5
		$aPoints5[6][1] = $Posy5 + 10
		$hPen[8] = _GDIPlus_PenCreate($c5)
		$hPen[9] = _GDIPlus_BrushCreateSolid($c5)
		$Graphic[8] = _GDIPlus_GraphicsDrawPolygon($hBackbuffer, $aPoints5, $hPen[8])
		$Graphic[9] = _GDIPlus_GraphicsFillPolygon($hBackbuffer, $aPoints5, $hPen[9])

		;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
		;;;;;;;;;;;;;;;;;;;;;;;;;;;;6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
		;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
		$Posx6 = $x + 56
		$Posy6 = $y
		$aPoints6[0][0] = 6

		$aPoints6[1][0] = $Posx6 + 5
		$aPoints6[1][1] = $Posy6

		$aPoints6[2][0] = $Posx6 + 5
		$aPoints6[2][1] = $Posy6 + 10

		$aPoints6[3][0] = $Posx6 + 5
		$aPoints6[3][1] = $Posy6 + 50

		$aPoints6[4][0] = $Posx6 + 5
		$aPoints6[4][1] = $Posy6 + 60

		$aPoints6[5][0] = $Posx6 - 5
		$aPoints6[5][1] = $Posy6 + 50

		$aPoints6[6][0] = $Posx6 - 5
		$aPoints6[6][1] = $Posy6 + 10
		$hPen[10] = _GDIPlus_PenCreate($c6)
		$hPen[11] = _GDIPlus_BrushCreateSolid($c6)
		$Graphic[10] = _GDIPlus_GraphicsDrawPolygon($hBackbuffer, $aPoints6, $hPen[10])
		$Graphic[11] = _GDIPlus_GraphicsFillPolygon($hBackbuffer, $aPoints6, $hPen[11])

		;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
		;;;;;;;;;;;;;;;;;;;;;;;;;;;;7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
		;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
		$Posx7 = $x + 56
		$Posy7 = $y + 66
		$aPoints7[0][0] = 6

		$aPoints7[1][0] = $Posx7 + 5
		$aPoints7[1][1] = $Posy7

		$aPoints7[2][0] = $Posx7 + 5
		$aPoints7[2][1] = $Posy7 + 10

		$aPoints7[3][0] = $Posx7 + 5
		$aPoints7[3][1] = $Posy7 + 50

		$aPoints7[4][0] = $Posx7 + 5
		$aPoints7[4][1] = $Posy7 + 60

		$aPoints7[5][0] = $Posx7 - 5
		$aPoints7[5][1] = $Posy7 + 50

		$aPoints7[6][0] = $Posx7 - 5
		$aPoints7[6][1] = $Posy7 + 10
		$hPen[12] = _GDIPlus_PenCreate($c7)
		$hPen[13] = _GDIPlus_BrushCreateSolid($c7)
		$Graphic[12] = _GDIPlus_GraphicsDrawPolygon($hBackbuffer, $aPoints7, $hPen[12])
		$Graphic[13] = _GDIPlus_GraphicsFillPolygon($hBackbuffer, $aPoints7, $hPen[13])
	Else
		For $i = 0 To 12 Step 2
			_GDIPlus_PenDispose($hPen[$i])
		Next
		For $ii = 1 To 13 Step 2
			_GDIPlus_BrushDispose($hPen[$i])
		Next
;~ 		For $iii = 0 To 13
;~ 			_GDIPlus_GraphicsDispose($hGraphic)
;~ 		Next
;~ 		_GDIPlus_Shutdown()
	EndIf
EndFunc   ;==>_7s

Func _SelectColors($choosecoloractive = 0xFF00FF00, $choosecolornotactive = 0xFF002200)
	$coloractive = $choosecoloractive
	$colornotactive = $choosecolornotactive
	_GDIPlus_PenSetColor($hPen1, $colornotactive)
	_GDIPlus_BrushSetSolidColor($hPen2, $coloractive)
	_GDIPlus_BrushSetSolidColor($hPen3, $colornotactive)
EndFunc   ;==>_SelectColors

Func _Ende()
	GUIRegisterMsg($WM_TIMER, "")
	_GDIPlus_PenDispose($hPen1)
	_GDIPlus_BrushDispose($hPen2)
	_GDIPlus_BrushDispose($hPen3)
	_GDIPlus_BitmapDispose($hBitmap)
	_GDIPlus_GraphicsDispose($hBackbuffer)
	_GDIPlus_GraphicsDispose($hGraphic)
	_GDIPlus_Shutdown()
	Exit
EndFunc   ;==>_Ende

Func _Farbe($active, $notactive); Vielen Dank an Oscar für diese Funktion
	GUIRegisterMsg($WM_TIMER, "")
	_GDIPlus_PenDispose($hPen1)
	_GDIPlus_BrushDispose($hPen2)
	_GDIPlus_BrushDispose($hPen3)
	_GDIPlus_BitmapDispose($hBitmap)
	_GDIPlus_GraphicsDispose($hBackbuffer)
	_GDIPlus_GraphicsDispose($hGraphic)
	_GDIPlus_Shutdown()
	GUIDelete()
	$param1 = String($active)
	$param2 = String($notactive)
	$s2 = String(@ScriptName)
	If @OSArch = 'X86' Then
		$autoit = RegRead('HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt', 'InstallDir') & '\AutoIt3.exe' ; für 32 Bit
	Else
		$autoit = RegRead('HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\AutoIt v3\AutoIt', 'InstallDir') & '\AutoIt3_x64.exe' ; für 64 Bit
	EndIf
	Run(Chr(34) & $autoit & Chr(34) & " " & $s2 & " " & $param1 & " " & $param2)
	Exit
EndFunc   ;==>_Farbe

