1

Тема: AHK: Запуск таймера после бездействия

Необходимо автосохранение документа в результате простоя, а именно: после простоя в течение пяти секунд запускается таймер в ToolTip c обратным отсчетом (5 секунд), по истечению которого, выполняется заданное действие. Если во время обратного отсчета простой был прерван, т.е. была нажата любая клавиша или движение мышью, таймер сбрасывается и сценарий возвращается в ожидание очередного бездействия. Буду признателен помощи.

Такой вариант работает некорректно, а именно, в результате SetTimer, тултипы меняются бесконечно:

SetTimer, idle, 100
CountTime = 5 
idle:
if  (A_TimeIdlePhysical > 5000)
	Loop %CountTime%
	{
		ToolTip, % CountTime - A_Index
		Sleep 1000
	}
Tooltip
SendInput ^{vk53} ; Save
Return

2

Re: AHK: Запуск таймера после бездействия

#InstallKeybdHook
#InstallMouseHook 

SetTimer, idle, 500

idle:
	if  (A_TimeIdlePhysical > 5000)
		ToolTip SendInput ^{vk53} ; Save 
Return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

3

Re: AHK: Запуск таймера после бездействия

serzh82saratov, в Вашем примере действие выполняется сразу после простоя. Необходимо, чтобы после простоя запускался таймер с обратным отсчетом, по истечению которого, выполнялось действие. Если во время обратного отсчета простой нарушается активностью клавиатуры или мыши, таймер сбрасывается и сценарий переходит в ожидание простоя.

4

Re: AHK: Запуск таймера после бездействия

SetTimer, idle, 100

idle:
	if (A_TimeIdle > 10000)
		Send ^{vk53} ; Save 
	else if (A_TimeIdle > 5000) && (ToolTip := 1)
		ToolTip % Round((A_TimeIdle - 5000) /1000, 1)
	if (A_TimeIdle < 5000) && ToolTip && !(ToolTip := 0)
		ToolTip
	Return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

5

Re: AHK: Запуск таймера после бездействия

serzh82saratov, спасибо! Кажется, работает так, как было задумано. А можно ли отсчет сделать обратным?

6

Re: AHK: Запуск таймера после бездействия

ToolTip % Round((10000 - A_TimeIdle) / 1000, 1)
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

7 (изменено: becauseim, 2017-02-19 04:23:11)

Re: AHK: Запуск таймера после бездействия

serzh82saratov, спасибо! А как можно упростить изменение заданного времени простоя и таймера обратного отсчета?

8 (изменено: serzh82saratov, 2017-02-19 13:24:42)

Re: AHK: Запуск таймера после бездействия

SetTimer, idle, 100
  
time1 := 5000  ;	простой
time2 := 5000  ;	таймер

time3 := time1 + time2

idle:
	if (A_TimeIdle > time3)
		Send ^{vk53} ; Save 
	else if (A_TimeIdle > time1) && (ToolTip := 1)
		ToolTip % Round((time3 - A_TimeIdle) / 1000, 1)
	if (A_TimeIdle < time1) && ToolTip && !(ToolTip := 0)
		ToolTip
	Return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui