Несколько ярлыков и кнопка запуска перестают отвечать на запросы в течение нескольких секунд после запуска

226

Сразу после запуска Windows (8.1) я могу открывать папки с помощью ярлыков, установленных в сценарии AHK, в течение двух-трех секунд.

Но тогда несколько ключей перестают отвечать на запросы:

  • кнопка запуска
  • ярлыки, которые открывают папки

Однако другие клавиши работают нормально, даже внутри проводника, такие как клавиши навигации, клавиша удаления, Alt + F4 и тому подобное. С мышью проблем нет.

Кажется, Windows запоминает все нажатия клавиш, которые я нажимал, потому что через несколько секунд (примерно от 5 до 10), когда сочетания клавиш снова начинают реагировать, все папки (для которых я нажимал назначенные сочетания клавиш в течение этих 5 или 10 секунд) открыть. Поскольку я нажимаю кнопку «Пуск» от 10 до 15 раз в течение этого периода бездействия, начальный экран открывается и закрывается несколько раз после того, как все снова станет нормальным.

Я использую довольно последнюю версию AHK (v1.1.22.06).

0

1 ответ на вопрос

0
Kody Brown

Я видел это, когда у меня есть ошибка в моем скрипте AHK.

Происходит то, что AutoHotkey ждет, когда что-то закончится или произойдет. Так как он перехватил обработчик клавиатуры Windows, каждое нажатие клавиши буферизуется до тех пор, пока AutoHotkey не сможет их обработать. Таким образом, как только AutoHotkey закончит ожидание (или обработку, или что-то еще), все нажатия клавиш происходят очень быстро подряд.

Есть ли какой-нибудь код, ожидающий события, такого как окно, чтобы открыть? Любой код таймера?

Если закрыть файл AHK и перезапустить его вручную, происходит ли то же самое?

Я закомментировал бы все в вашем файле скрипта, за исключением только тех обработчиков ключей, которые вы используете, и медленно добавил все обратно ...

Скрипт имеет пять кодов таймера. Я пытался закомментировать эти строки, но это не помогло. Тем не менее, я еще не пытался закомментировать все, кроме обработчиков ключей, как вы указали. Я попробую позже. Кстати, нет проблем, когда я перезагружаю его вручную. Проблема возникает только тогда, когда она начинается с Windows. 8 лет назад 0
Я предполагаю, что код таймера означает что-то вроде этого: `Sleep 10000`` Process, Exist, some_program.exe` `If Not Errorlevel`` Выполнить D: \ path \ to \ some_program.exe` 8 лет назад 0
Да, это часть кода таймера, на который я ссылался. Кроме того, каждый раз, когда приложение запускается с помощью `Run`, любого` WinWait` или `* Activate` и т. Д. Kody Brown 8 лет назад 0
Работает ли сценарий с повышенными разрешениями при запуске во время запуска Windows? Я перестал пытаться запускать файлы .lnk при запуске с повышенными разрешениями. Я использую запланированные задачи вместо этого .. Kody Brown 8 лет назад 0

Похожие вопросы