Скрипт Autohotkey не запускается при запуске

Скрипт Autohotkey не запускается при запуске

Итак, у меня есть два скрипта shell:startup. Один из них представляет собой набор горячих клавиш для выполнения различных действий при нажатии ctrl+c/a/s/и т. д., а другой предназначен для запуска чего-либо один раз при загрузке и на этом всё.

Проблема в том, что скрипт загрузки не работает. При включении питания от него ничего не происходит.

Если я запускаю скрипт вручную, он работает так, как и задумано. Я пробовал добавить сон, так как думал, что он может быть запущен до загрузки каких-то необходимых вещей, но все равно безуспешно, даже с 10-минутной задержкой. Скрипт никогда ничего не делает, он никогда не отображается на панели задач.

В чем проблема?

При необходимости я могу предоставить скрипт, но поскольку он, похоже, вообще не загружается, я не думаю, что это проблема кодирования.

решение1

Не уверен, запускалось ли это где-либо до Windows 10, но когда я обновился с Windows 7, я обнаружил, что некоторые из моих скриптов AutoHotKey перестали работать при загрузке. Я наконец понял, что это потому, что теперь им нужны права администратора (я не думаю, что они нужны им в Win7), но Win10 блокирует элементы в shell:startupи shell:common startupместоположениях от запуска от имени администратора.

Мое решение немного запутанное, но работает хорошо. По сути, я оставил свой скрипт в обычном (неавтозапускаемом) месте, например, C:\Users\xyz\Documentsа затем создал ярлык для скрипта в том же месте. Затем вы можете установить свойства ярлыка для запуска от имени администратора. Наконец, в месте shell:startupя создал пакетный файл, который будет автоматически запускаться и вызывать ярлык:

start "MyScript" /D "C:\Users\xyz\Documents\" /B MyScript.ahk.lnk

решение2

У меня была такая же проблема в win10, решение — напрямую редактировать реестр автозагрузки.

  1. бегатьregedit
  2. просмотрите, чтобы Компьютер\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
  3. Добавить новоеСтроковое значение
  4. ДляДанные о ценности, введите путь к вашему .ahk файлу

Вот и все.

решение3

Я нашел другое решение, которое может показаться лучше предыдущего.

Когда я начал использовать AHK, я создал все .ahkфайлы в одной папке. Впрочем, я думаю, все так делают. В этом случае очень легко запустить все эти файлы с помощью bat-файла. Это примерно так:

@echo off
cd f:/hotkeys
for /f  %%f in ('dir /b /s .') do start %%f

Создайте файл с таким содержимым и поместите его в каталог автозагрузки: Win+R> shell:startup. Вот и все.

Сценарий взят отсюдаhttps://stackoverflow.com/questions/180741/how-to-do-something-to-each-file-in-a-directory-with-a-batch-script/180749#180749.

Связанный контент