1

Тема: AHK: Напоминалка о выходе из vpn.

Подскажите, как сделать, чтобы при наличии процесса vpn выходило сообщение каждые 10 мин с напоминанием, что активен vpn. Можно нажать ОК, но если процесс активен, то через 10 мин сообщение выйдет снова.

2

Re: AHK: Напоминалка о выходе из vpn.

Loop
{
Sleep, 60000
Process, Exist, vpn.exe
If ErrorLevel   ;Если активен VPN
MsgBox, Активен VPN
}

3

Re: AHK: Напоминалка о выходе из vpn.

Только проблема возникла: в скрипте уже есть Loop c WinWaitActive и Loop на нем стоит. Если их поместить вместе, то этот функционал работает только когда срабатывает первый. А отдельно второй Loop в автозагрузке не работает.

4

Re: AHK: Напоминалка о выходе из vpn.

stuermer
Используйте таймер.

Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

5

Re: AHK: Напоминалка о выходе из vpn.

Скорее всего можно проверку вынести в отдельную подпрограмму, а в уже имеющийся цикл добавить метку перехода GoSub, запускающую эту самую подпрограмму с периодичностью в 10 минут:

Loop ;Основной цикл
{
; всякое
; разное
GoSub, VPN_check
Sleep, 60000
}




VPN_check:
Process, Exist, vpn.exe
If ErrorLevel   ;Если активен VPN
MsgBox, VPN активен
        ;Else MsgBox, VPN неактивен 
Return

6 (изменено: stuermer, 2023-01-03 15:47:48)

Re: AHK: Напоминалка о выходе из vpn.


Loop
{
	WinWaitActive 
	...
	WinWaitNotActive 

	GoSub, VPN_check
	Sleep, 60000
}

Если делать так, то до метки он дойдет только после активации окна WinWaitActive. Будет стоять и ждать на WinWaitActive. Это то же самое, что делать в цикле. Интервал будет случайным и зависеть от активации окон. Тут надо чтоб 2 цикла параллельно независимо работали.
60000 - это 60 сек.

7

Re: AHK: Напоминалка о выходе из vpn.

AutoHotkey не умеет делать параллельные потоки. Самый простой выход - запускать код из второго сообщения отдельным скриптом.

8

Re: AHK: Напоминалка о выходе из vpn.

А зачем отдельный скрипт, есть же таймер, как упомянул коллега __Михаил__.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

9

Re: AHK: Напоминалка о выходе из vpn.

Как использовать таймер?

10

Re: AHK: Напоминалка о выходе из vpn.

#Persistent
SetTimer, CheckVpnActivity, 600000 ; 1 сек — 1000, 1 мин — 60000, 10 мин — 600000
Return

CheckVpnActivity:
   Process, Exist, vpn.exe
   if ErrorLevel
      MsgBox vpn активен
Return
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder