Тема: AHK: Привязка скрипта ко времени операционной системы windows.
Всех приветствую. Возник вопрос ! Можно ли в ahk привязать работу скрипта ко времени ос windows .
Допустим что-бы в 10.00 и 18.00 MsgBox выдавал заданное сообщение?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Всех приветствую. Возник вопрос ! Можно ли в ahk привязать работу скрипта ко времени ос windows .
Допустим что-бы в 10.00 и 18.00 MsgBox выдавал заданное сообщение?
Я находил такой пример:
if(A_Hour >= 10 && A_Min > 00)
{
MsgBox, 10:00
}
Return
Суточные сигналы можно задать одним таймером, циклы с проверками не нужны.
В Times можно занести время с секундами или без них, в любом порядке и количестве, перезапускать скрипт можно в любой момент.
#SingleInstance Force
#Persistent
#NoEnv
Times := ["01:00","00:59:50"]
NewTimer(Times)
Return
NewTimer(Arr) {
For k, value in Arr
odds := DifferenceTime(value)
, (!Min || Min > odds)
&& (Min := odds, Time := value)
hFunc := Func("Timer").Bind(Time, Arr)
SetTimer, % hFunc, % -Min
TrayTip, % "Следующий в:", % "`n" Time "`n`nЧерез:`n`n" FormatTime(Min)
}
Timer(Time, List) {
MsgBox, , , % Time, 1
NewTimer(List)
}
DifferenceTime(Time) {
T := StrSplit(Time, ":")
Time := Time2 := A_YYYY A_MM A_DD T[1] T[2] (T[3] ? T[3] : "00")
EnvSub, Time, A_Now, Second
Time := (Time * 1000) - A_MSec
If Time >= 0
Return Time
Time2 += 1, days
EnvSub, Time2, A_Now, Second
Return (Time2 * 1000) - A_MSec
}
FormatTime(Time) {
Rest := Mod(Time, 3600000)
Hours := Format("{:02}", Time // 3600000)
Min := Format("{:02}", Rest // 60000)
Sec := Format("{:02}", Mod(Rest, 60000) // 1000)
MSec := Format("{:03}", Mod(Rest, 1000))
Return Hours ":" Min ":" Sec "," MSec
}
Очень интересно ! Но выдаёт ошибку Call to nonexistent function на строку
Hours := Format("{:02}", Time // 3600000)
Могли бы вы раскоментировать ваш скрипт, не могу понять где задавать время , и хочется понять как он работает. Т.е. это таймер на 24 часа или он привязан ко времени ОС. Пробую синхронизировать работу двух скриптов . Первый работает в цикле круглосуточно и останавливается в начале каждого часа ( или заданного времени 13.00, 16.00) на 5 минут , в это время включается второй скрипт, по его завершении ( или через те же 5 минут) обратно включается первый.
serzh82saratov Запустил на домашнем ПК ваш скрипт, всё работает. Благодарствую !
serzh82saratov, а в чем проявляется функционал сценария? После запуска, наблюдаю TrayTip о следующем заданном времени. Когда заданное время наступает, ничего не происходит.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться