как отключить ahk скрипт
Выход из текущего потока или (если скрипт не резидентный, т.е. не содержит директиву #Persistent, и не содержит горячих клавиш) из скрипта в целом.
Параметры
ExitCode | Код выхода. Целое число (отрицательное, положительное, нуль или выражение), которое скрипт возвращает вызвавшей его программе, когда завершается. Этот код доступен любой программе, запускающей скрипт, например, другому скрипту (через RunWait) или пакетному (.bat) файлу. Если код выхода не задан, он устанавливается в 0. Ноль традиционно используется как индикатор успеха. |
Примечания
Если скрипт не содержит горячих клавиш, не объявлен резидентным (через директиву #Persistent) и не должен поддерживать клавиши Num/Scroll/CapsLock всегда включенными или выключенными, он завершается как только встречает команду Exit (кроме случая, когда он содержит подпрограмму OnExit).
Иначе команда Exit завершает текущий поток. Иными словами, вся цепочка подпрограмм, вызванных непосредственно или опосредованно пунктом меню, таймером или горячей клавишей будет завершена так, как будто в каждой из них выполнится команда Return. Для самой же подпрограммы, в которой непосредственно выполняется команда Exit, её действие эквивалентно Return.
Примечание переводчика. Чтобы понять разницу между Exit и Return в описанном выше случае, представьте, что подпрограмма А вызвала подпрограмму В, а В вызвала С (через переходы к меткам по команде Gosub или Goto). Если С завершается через Return, вызвавшая её В продолжит выполняться дальше. Если через Exit, В немедленно завершается. Вызвавшая её А также завершается.
Чтобы завершить скрипт, содержащий горячие клавиши или являющийся резидентным, используйте команду ExitApp.
How do I stop an active AutoHotkey script?
Yesterday while debugging my AutoHotkey script, I accidentally triggered an endless loop of MouseMove and MouseClick events. Every 0.5 seconds my mouse would click random parts of the screen.
After unsuccessfully trying to terminate AHK with the task manager, I ended up turning off my computer to end the script.
How can I stop an active AutoHotkey script?
5 Answers 5
Add an emergency exit hotkey
The most reliable method of ending an active script is to pre-emptively include an emergency ExitApp hotkey. A common practice is to place the following at the bottom of any script.
You can also set hotkeys to pause, suspend, or reload your script.
Log off
This is because pressing Ctrl+Alt+Delete opens a special window which cannot be manipulated by programs like AutoHotkey.
End with taskbar icon
If you have control of the keyboard and mouse, you can end the script by right-clicking AutoHotkey’s green H icon in the taskbar and selecting «Exit»
End all active scripts with AHKPanic()
If you want to get fancy and stop it from the Windows command prompt,
Stop all autohotkey scripts with:
Stop specific script with:
If you want to close a specific window without doing a loop, I have created the following:
**NOTE 2 : ** the file names have to be case sensitivity.
You could also make your script #SingleInstance force and watch for a «-quit» argument or something.
So you run the same script again but with the argument. And BAM its gone.
Just for completeness. @Stevoisiak’s answer is already great for the purpose requested.😉
I was also looking for how to close one specific running script from another autohotkey script, so I tried cristivaldo’s solution but it wasn’t quite working for me, so I changed it a bit.
I added SetTitleMatchMode, 2 so it matches window titles with partial matches, so you don’t have to type exactly the full window title (that way it will still match even if the autohotkey version number changes). I also removed the path, and variables.
Here’s an example to stop/close a specific script (just change examplescriptfile.ahk to the filename of the running autohotkey script you wish to stop):
Not the answer you’re looking for? Browse other questions tagged autohotkey or ask your own question.
Linked
Related
Hot Network Questions
Subscribe to RSS
To subscribe to this RSS feed, copy and paste this URL into your RSS reader.
site design / logo © 2021 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2021.10.7.40401
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.
AHK: Включение/выключение цикла на одну кнопку.
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщения 16
1 Тема от Lanceg 2013-08-06 17:41:20 (изменено: Lanceg, 2013-08-06 21:31:53)
Тема: AHK: Включение/выключение цикла на одну кнопку.
В сети нашел этот код:
Но он не работает, как более ‘тонко’ сделать код для микрофона?
2 Ответ от Irbis 2013-08-06 18:26:06 (изменено: Irbis, 2013-08-06 18:29:23)
Re: AHK: Включение/выключение цикла на одну кнопку.
Первое. При нажатии на хоткей скрипт не «возвращается к началу», а встает на паузу, что в данном случае роли не играет:
Насчет микрофона не могу подсказать, пример верный, в справке практически такой же, но он и у меня не работает.
3 Ответ от Lanceg 2013-08-06 18:46:30 (изменено: Lanceg, 2013-08-06 18:47:05)
Re: AHK: Включение/выключение цикла на одну кнопку.
Через паузу и суспенд не вариант, я еще несколько макросов и кучу хоткеев использую одновременно с ним, необходим переключатель на одну кнопку, вот пример для двух кнопок:
4 Ответ от serzh82saratov 2013-08-06 19:12:50 (изменено: serzh82saratov, 2013-08-06 19:46:21)
Re: AHK: Включение/выключение цикла на одну кнопку.
Включение/выключение цикла на одну кнопку
2 вариант, если MaxThreadsPerHotkey мешает:
5 Ответ от serzh82saratov 2013-08-06 20:42:00 (изменено: serzh82saratov, 2013-08-06 21:29:53)
Re: AHK: Включение/выключение цикла на одну кнопку.
Также если не нужна высокая частота повторений, можно иммитировать цикл:
6 Ответ от Lanceg 2013-08-06 21:43:46 (изменено: Lanceg, 2013-08-06 21:45:05)
Re: AHK: Включение/выключение цикла на одну кнопку.
Мне необходима гибкость скрипта, сделать код вкл/выкл. именно вот для такого цикла:
Скрипты выше не подходят вроде бы, либо подходят, но я не вижу сходства с работой моего цикла, мне не нужны постоянные повторения, нужно в пределах интервала рандома задать эти нажатия кнопки Т, к тому же было бы неплохо если сам скрипт вкл и выкл на эту же кнопку Т, но можно сделать и на другую, главное чтобы была задействована клавиша Т и выполнялся цикл который я показал, либо аналогичный или схожий, с возможностью динамической настройки.
Моих знаний в кодинге не хватает для построения такого кода, я дилетант
7 Ответ от serzh82saratov 2013-08-06 21:48:17
Re: AHK: Включение/выключение цикла на одну кнопку.
В любом примере замените ToolTip % A_TickCount на своё:
неплохо если сам скрипт вкл и выкл на эту же кнопку Т
8 Ответ от Lanceg 2013-08-06 22:21:15 (изменено: Lanceg, 2013-08-06 22:25:20)
Re: AHK: Включение/выключение цикла на одну кнопку.
Забыл уточнить одну маленькую деталь, из-за которой, кажется, все не работает так как нужно:
Пытаюсь подстроить луп под разный код выше, безрезультатно.
Напишу еще раз, как должно это происходить:
После физического нажатия T, запускается цикл имитации нажатия этой кнопки с рандомной задержкой, при повторном физическом нажатии на Т, подпрограмма перестает исполнять цикл, до повторного запуска.
Если такой вариант невозможен, можно заменить запуск и выключение подпрограммы на другую кнопку, например Y.
AHK: Закрытие любого процесса. [Решено]
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщения 9
1 Тема от terra-4 2016-08-11 20:22:17 (изменено: terra-4, 2016-08-12 22:02:13)
Тема: AHK: Закрытие любого процесса. [Решено]
Здравствуйте, помогите пожалуйста с решением задачи, которое как всегда я не нашел..
Есть скрипт, который закрывает программу через Alt+F4.
Знаю про возможность закрыть процесс программы.
Подскажите пожалуйста, как можно отключить процесс, находясь в нем, не создавая под него задачу?
2 Ответ от Alectric 2016-08-11 21:52:29
Re: AHK: Закрытие любого процесса. [Решено]
отключить процесс, находясь в нем, не создавая под него задачу?
Что это значит?
Закрыть процесс активного окна?
3 Ответ от terra-4 2016-08-11 23:03:07 (изменено: terra-4, 2016-08-12 13:50:17)
Re: AHK: Закрытие любого процесса. [Решено]
Спасибо! работает, к сожалению не везде, но то в другом разделе форума.
4 Ответ от terra-4 2016-08-12 22:00:29 (изменено: terra-4, 2016-08-13 07:47:26)
Re: AHK: Закрытие любого процесса. [Решено]
Похоже нашел способ закрыть, любой процесс так или иначе.
5 Ответ от yoda 2019-09-09 23:39:23 (изменено: ypppu, 2019-09-09 23:51:54)
Re: AHK: Закрытие любого процесса. [Решено]
Вчера задавался аналогичным вопросам, нашел такой скрипт на гитхабе
Всё вроде хорошо, но как оказалось не закрывает ряд следующих программ:
RealBench, OCCT 5.5.3, InterBurnTest, AIDA64, HWINFO
Причем пробовал даже просто эмулировать Alt+F4
Попробовал код выше
Тоже не работает, например тот же explorer или notepad закрывает, но вышеуказанный софт нет.
ahk Нажал F1 скрип заработал нажал F2 отключился (скрипт) как это сделать?
Не думаю что тут много ценителей AHK. Или просто ваш вопрос поставил их в тупик) ) Понимая код можно такого понаписать в AHK, чего и в Windows 11 не будет. Любое приложение развернуть без надоедливого заголовка окна (прозрачная панель сверху с кнопками закрытия и сворачивания у каждого окна Windows) полностью на весь экран? Запросто! В Adobe Photoshop (и в некоторых других прогах) приближать-отдалять колёсиком мыши, а перемещаться по холсту при его зажатии как во всех нормальных приложениях? Запросто! Вызывать при нажатии на клавиши невызываемое даже из глубин? Легко!
Относительно вопроса. Проще на панели задач выбрать по правой клавише мышки выбрать команду Suspend Script, тем самым приостановив работу скрипта. Это самое простое решение. Если же надо сложно, долго и упорно, то в написаном скрипте за это в ответе опять таки команда Suspend. При её использовании скрипт остаётся висеть в трее приостановленым и в любой момент можно снова задействовать. Команда Pause вообще тупая и как-то странно делает то, чем названа и в скрипте и в панели задач. Отключение же полностью, про которое пишется в вашем вопросе, выкидывает скрипт из памяти, потом искать надо там где лежал.
Почитайте английские форумы AHK, их не мало. Там есть примеры использования различных команд, пояснения, ошибки и прочее. Ещё очень полезен родной хелп с подробным описанием и примерами.
Здравствуйте! Добавьте в ваш код АХК вот эти строки:
В этом случае
End будет пауза скрипта
F1 будет перезагружать скрипт автоматически
F2 будет полностью выключать скрипт (Просто закроет его как обычную программу)