Если переменная A_TimeIdlePhysical не равно 30000(30 секунд), то тогда идет задержка в 10 мс в цикле. Если loop работает продолжительное время без задержек то начинает не слабо грузить процессор.
Else срабатывает в том случае если переменная равна 30000 и тут она показывает в тултип что время прошло.
Вот немного измененный код, он теперь реагирует на окончание бездействия, а так же скрывает тултуп через 2 сек и сделан та таймере а не на луп.
#Persistent
time := 30000
SetTimer HookMK,10
HookMK:
if (A_TimeIdlePhysical >= time) and (A_TimeIdlePhysical <= time+20) and (h:=1)
tooltip Время бездействия прошло.
Else if h and (A_TimeIdlePhysical < 20) and (h:=0)+1
{
tooltip бездействие окончилось!
sleep 2000
tooltip
}
return
serzh82saratov, ну что бы скрипт сам себе не сбрасывал A_TimeIdlePhysical при send можно примерно вот так сделать:
Class Sendnothook
{
__New(text)
{
#InstallMouseHook
Send %text%
}
__Delete()
{
#InstallKeybdHook
#InstallMouseHook
}
}
time := 3000
loop
if !((A_TimeIdlePhysical > time) and (A_TimeIdlePhysical < time+20))
Sleep 10
Else
New Sendnothook("x")