#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
Global $sHour, $sMin, $fWork = False, $fExit = False, $sDayOld
HotKeySet('{Esc}', '_Exit')
_MySetting()
While 1
If Not $fWork Then
If @HOUR == $sHour Then
If @MIN >= $sMin Then
$sDayOld = @MDAY
_MyFunc()
EndIf
ElseIf @HOUR > $sHour Then
$sDayOld = @MDAY
_MyFunc()
EndIf
EndIf
If $sDayOld And $sDayOld <> @MDAY Then
$fWork = False
EndIf
Sleep(500)
WEnd
Func _MySetting()
Local $nComboHour, $nComboMin, $nCheckboxExit, $nButtonGo, $nMsg, $s_Hour, $s_Min
For $i = 0 To 23
$s_Hour &= StringFormat('%02d|', $i)
Next
For $i = 0 To 60 Step 10
$s_Min &= StringFormat('%02d|', $i)
Next
GUICreate('Setting', 250, 150)
GUICtrlCreateLabel('Часы', 50, 10, 50, 17, $SS_CENTER)
GUICtrlCreateLabel('Минуты', 150, 10, 50, 17, $SS_CENTER)
$nComboHour = GUICtrlCreateCombo('', 50, 35, 50, 20, BitOR($GUI_SS_DEFAULT_COMBO, $CBS_SIMPLE))
GUICtrlSetData(-1, $s_Hour, '18')
$nComboMin = GUICtrlCreateCombo('', 150, 35, 50, 20, BitOR($GUI_SS_DEFAULT_COMBO, $CBS_SIMPLE))
GUICtrlSetData(-1, $s_Min, '30')
$nCheckboxExit = GUICtrlCreateCheckbox('Выход после выполнения', 50, 70, 150, 20)
$nButtonGo = GUICtrlCreateButton('Вперед', 60, 105, 130, 25)
GUISetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $nButtonGo
$sHour = GUICtrlRead($nComboHour)
$sMin = GUICtrlRead($nComboMin)
If GUICtrlRead($nCheckboxExit) = $GUI_CHECKED Then
$fExit = True
EndIf
TraySetToolTip('Время выполнения: ' & StringFormat('%d:%d', $sHour, $sMin))
ExitLoop
EndSwitch
WEnd
GUIDelete()
EndFunc ;==>_MySetting
Func _MyFunc()
MsgBox(64, 'Info', 'Часы: ' & @HOUR & @LF & 'Минуты: ' & @MIN)
If $fExit Then Exit
$fWork = True
TraySetToolTip(StringFormat('%d.%d.%d', @MDAY, @MON, @YEAR) & ' Выполнено в ' & StringFormat('%d:%d', @HOUR, @MIN))
EndFunc ;==>_MyFunc
Func _Exit()
Exit
EndFunc ;==>_Exit