
Итак, у меня есть два скрипта 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, решение — напрямую редактировать реестр автозагрузки.
- бегатьregedit
- просмотрите, чтобы Компьютер\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
- Добавить новоеСтроковое значение
- ДляДанные о ценности, введите путь к вашему .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.