1

Тема: AHK: Привязка скрипта ко времени операционной системы windows.

Всех приветствую. Возник вопрос ! Можно ли в ahk привязать работу скрипта ко времени ос windows .
Допустим что-бы в 10.00 и 18.00  MsgBox выдавал заданное сообщение?

Не знаю, не умею, но быстро учусь!

2

Re: AHK: Привязка скрипта ко времени операционной системы windows.

Я находил такой пример:

if(A_Hour >= 10 && A_Min > 00)
{
    MsgBox, 10:00
}
Return

3 (изменено: serzh82saratov, 2019-01-28 17:22:57)

Re: AHK: Привязка скрипта ко времени операционной системы windows.

Суточные сигналы можно задать одним таймером, циклы с проверками не нужны.
В 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
}
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

4 (изменено: panamaboot, 2016-05-23 12:44:51)

Re: AHK: Привязка скрипта ко времени операционной системы windows.

Очень интересно ! Но выдаёт ошибку Call to nonexistent function  на строку

Hours := Format("{:02}", Time // 3600000)

Могли бы вы раскоментировать  ваш скрипт, не могу понять где задавать время , и хочется понять как он работает. Т.е. это таймер на 24 часа или он привязан ко времени ОС. Пробую синхронизировать работу двух скриптов . Первый работает в цикле круглосуточно и останавливается в  начале каждого часа ( или заданного времени 13.00, 16.00) на 5 минут , в это время включается второй скрипт, по его завершении ( или через те же 5 минут) обратно включается первый.

Не знаю, не умею, но быстро учусь!

5 (изменено: panamaboot, 2016-05-23 22:51:49)

Re: AHK: Привязка скрипта ко времени операционной системы windows.

serzh82saratov Запустил на домашнем ПК ваш скрипт, всё работает. Благодарствую !

Не знаю, не умею, но быстро учусь!

6

Re: AHK: Привязка скрипта ко времени операционной системы windows.

serzh82saratov, а в чем проявляется функционал сценария? После запуска, наблюдаю TrayTip о следующем заданном времени. Когда заданное время наступает, ничего не происходит.