If WinExists("%_StartClock_%") Then ;Checks to see if StartClock is already running Exit EndIf AutoItWinSetTitle("%_StartClock_%") ProcessSetPriority("StartClock.exe", 0) If Not FileExists(@ScriptDir & "\StartClock.ini") Then Config() $HideTrayIcon = IniRead(@ScriptDir & "\StartClock.ini", "Settings", "HideTrayIcon", "4") If $HideTrayIcon = 1 Then $HideTrayIcon = 0 ElseIf $HideTrayIcon = 4 Then $HideTrayIcon = 1 EndIf Opt ("TrayIconHide", $HideTrayIcon) Opt ("WinTitleMatchMode", 4) Opt ("WinTextMatchMode", 2) Opt ("WinWaitDelay", 1) ;VARIABLES If IniRead(@ScriptDir & "\StartClock.ini", "Settings", "BeginAtStartup", "0") = 1 Then RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "StartClock", "REG_SZ", @ScriptFullPath) Else RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "StartClock") EndIf $Button1POS = ControlGetPos( "classname=Shell_TrayWnd", "", "Button1") ;Start Button NEW replace $Button1POS eventually $ReBarPOS = ControlGetPos("classname=Shell_TrayWnd", "", "ReBarWindow321") ;entire runningApp and quicklaunch area $GetTime = FileGetTime(@ScriptDir & "\StartClock.ini", 0, 1) ;checks to see when INI was last changed $ClockType = IniRead(@ScriptDir & "\StartClock.ini", "Settings", "ClockType", "1") $ShowDate = IniRead(@ScriptDir & "\StartClock.ini", "Settings", "ShowDate", "4") $ShowSeconds = IniRead(@ScriptDir & "\StartClock.ini", "Settings", "ShowSeconds", "4") $Btn_Sized = "" $Btn_Date = "" $Time = "" $HHour = @HOUR $MMin = @MIN $SSec = @SEC $DDate = "" $Date = "" If IniRead(@ScriptDir & "\StartClock.ini", "Settings", "DisableHotkeys", "4") = 4 Then HotKeySet( "^!x", "ExitScript"); CTRL+ALT+X HotKeySet( "^!c", "Config"); CTRL+ALT+C Else HotKeySet( "^!x") HotKeySet( "^!c") EndIf CallDate() AdlibEnable( "ResizBtn", 250) Do ;DYNAMIC OPTIONS If FileGetTime(@ScriptDir & "\StartClock.ini", 0, 1) <> $GetTime Then $ClockType = IniRead(@ScriptDir & "\StartClock.ini", "Settings", "ClockType", "1") $ShowDate = IniRead(@ScriptDir & "\StartClock.ini", "Settings", "ShowDate", "4") $ShowSeconds = IniRead(@ScriptDir & "\StartClock.ini", "Settings", "ShowSeconds", "4") If IniRead(@ScriptDir & "\StartClock.ini", "Settings", "HideTrayIcon", "0") = 4 Then ;HideTrayIcon $HideTrayIcon = 1 Else $HideTrayIcon = 0 EndIf Opt ("TrayIconHide", $HideTrayIcon) If IniRead(@ScriptDir & "\StartClock.ini", "Settings", "BeginAtStartup", "0") = 1 Then RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "StartClock", "REG_SZ", @ScriptFullPath) Else RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "StartClock") EndIf If IniRead(@ScriptDir & "\StartClock.ini", "Settings", "DisableHotkeys", "4") = 4 Then HotKeySet( "^!x", "ExitScript"); CTRL+ALT+X HotKeySet( "^!c", "Config"); CTRL+ALT+C Else HotKeySet( "^!x") HotKeySet( "^!c") EndIf $Btn_Sized = StringLen(String($Time)) * 6 + $Btn_Date - $Btn_Time + $Btn_Sec EndIf ;SET SECONDS PROPERTIES If $ShowSeconds = 1 Then $SSec = @SEC If $SSec = 00 Then $MMin = @MIN $Sec = ":" & $SSec $Btn_Sec = 12 Else $Sec = "" $Btn_Sec = "" EndIf ;SET DATE PROPERTIES If $ShowDate = 1 Then CallDate() Else $Date = "" $Btn_Date = "" EndIf ;SET TIME PROPERTIES If $MMin = 00 Then $HHour = @HOUR If $ClockType = 1 Then If $HHour <= 11 And Not $HHour = 00 Then $Hour = 24 + $HHour - 24 $AMPM = " AM" ElseIf $HHour > 12 Then $Hour = $HHour - 12 $AMPM = " PM" ElseIf $HHour = 12 Then $Hour = $HHour $AMPM = " PM" ElseIf $HHour = 00 Then $Hour = "12" $AMPM = " AM" EndIf $Time = $Hour & ":" & $MMin & $Sec & $AMPM & $Date $Btn_Time = "" Else $Time = $HHour & ":" & $MMin & $Sec & $Date $Btn_Time = "";12 EndIf $Btn_Sized = StringLen(String($Time)) * 6 + $Btn_Date - $Btn_Time + $Btn_Sec Sleep(1000) Until 1 <> 1 ;FUNCTIONS Func ResizBtn() $TrayNEW = ControlGetPos("classname=Shell_TrayWnd", "", "ReBarWindow321") If $ReBarPOS[3] <> $TrayNEW[3] Then RefreshTray() ;drastic theme changes If $ReBarPOS[2] > $ReBarPOS[3] Then ;entire tray width greater than height ControlMove("classname=Shell_TrayWnd", "", "ReBarWindow321", $ReBarPOS[0] + $Btn_Sized, $ReBarPOS[1], $ReBarPOS[2] - $Btn_Sized, $ReBarPOS[3]) EndIf ControlMove("classname=Shell_TrayWnd", "", "Button1", $Button1POS[0], $Button1POS[1], $Button1POS[2] + $Btn_Sized, $Button1POS[3]) ;x, y, width, height ControlSetText("classname=Shell_TrayWnd", "", "Button1", $Time) EndFunc ;==>ResizBtn Func CallDate() If @MON = 1 Then $mon = "Jan" ElseIf @MON = 2 Then $mon = "Feb" ElseIf @MON = 3 Then $mon = "Mar" ElseIf @MON = 4 Then $mon = "Apr" ElseIf @MON = 5 Then $mon = "May" ElseIf @MON = 6 Then $mon = "June" ElseIf @MON = 7 Then $mon = "July" ElseIf @MON = 8 Then $mon = "Aug" ElseIf @MON = 9 Then $mon = "Sept" ElseIf @MON = 10 Then $mon = "Oct" ElseIf @MON = 11 Then $mon = "Nov" ElseIf @MON = 12 Then $mon = "Dec" EndIf $Date = " - " & $mon & " " & @MDAY $Btn_Date = (StringLen(String($Date)) * 2) - 6 EndFunc ;==>CallDate Func RefreshTray() If ProcessExists( "net.exe" ) Then Sleep( 1000 ) Opt ("TrayIconHide", 0) Opt ("TrayIconHide", 1) Opt ("TrayIconHide", $HideTrayIcon) $Button1TXT = ControlGetText("classname=Shell_TrayWnd", "", "Button1") ;Start Button $Button1POS = ControlGetPos( "classname=Shell_TrayWnd", "", "Button1") ;Start Button NEW replace $Button1POS eventually $ReBarPOS = ControlGetPos("classname=Shell_TrayWnd", "", "ReBarWindow321") ;entire runningApp and quicklaunch area EndFunc ;==>RefreshTray Func Config() If FileExists(@ScriptDir & "\options_GUI.exe") Then Run("options_GUI.exe", @ScriptDir) EndIf EndFunc ;==>Config Func ExitScript() AdlibDisable() Opt ( "TrayIconHide", 0) Opt ("TrayIconHide", 1) Opt ("TrayIconHide", $HideTrayIcon) Exit EndFunc ;==>ExitScript