Проверьте, работает ли скрипт ahk (autohotkey) - PullRequest
1 голос
/ 19 марта 2012

Я работаю над сценарием autohotkey, и я хотел знать, можно ли проверить, запущен ли другой сценарий в настоящее время.

Я обнаружил, что это то, что вам нужно сделать, чтобы закрыть работающий скрипт:

DetectHiddenWindows, On
WinClose, %pathToScript% ahk_class AutoHotkey

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

DetectHiddenWindows, On
IfWinActive, %pathToScript% ahk_class AutoHotkey
{
    //code to do when script is active
}

Это не работает, хотя. Вы можете мне помочь?

Ответы [ 2 ]

3 голосов
/ 21 декабря 2012

[проверить это]

1 - Создайте случайный сценарий, который остается запущенным, но скрытым, например:

F::
Msgbox "running..." ; to test if it's ok or already closed.

2 - Теперь вы создаете скрипт для проверки того, что вы хотите сделать. Мой тест может закрывать скрытые скрипты по именам:

pathToScript = %A_ScriptDir%\teste.exe

DetectHiddenWindows, On
IfWinExist, %pathToScript%
{
    WinWait, %pathToScript%,
    IfWinNotActive, %pathToScript%, , WinActivate, %pathToScript%,
    WinWaitActive, %pathToScript%,

    WinClose, %pathToScript% ahk_class AutoHotkey
    MsgBox "OK"
}

Надеюсь, это поможет вам ...

0 голосов
/ 06 августа 2012

Я не уверен, почему вы хотели бы сделать это, но что-то полезное, что у меня есть в моем сценарии, это

Reload

, который перекомпилирует и перезапускает сохраненный файл сценария. См .: Обновить информацию о документе

...