Итак, у меня есть клавиатура dell sk-8135 с несколькими клавишами вверху, в том числе «Назад», «Вперед», «Стоп», «Обновить», «Домашняя страница», «Электронная почта», «Мой компьютер» и «Calc». Я смог изменить их, отредактировав ключ AppKey в реестре по адресу HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey

AppKey имеет 8 подразделов 1, 2, 4, 3, 7, 15, 17, 18 (перечислены в порядке по сравнению с кнопками моей клавиатуры)

В "Forward", который называется AppKey 1, у меня запущен ShellExecute, который работает правильно, но единственная проблема заключается в том, что он все еще думает, что я нажимаю клавишу "вперед", но в то же время он правильно выполняет ShellExecute. Вот результаты ProcessMonitor, когда я нажимаю обратный ярлык (и когда я нажимаю неотредактированную кнопку ярлыка).

Можно ли как-то полностью отключить кнопки «назад», «вперед» /«обновить», но при этом можно выполнять ShellExecute?

Примечание: Mail, My Computer и Calc к этому не относятся, так как они запускают только мою установку горячих клавиш, а не горячие клавиши вместе с самим собой.

1 ответ1

0

Мне удалось это исправить, скомпилировав Java-программу для запуска в фоновом режиме, чтобы заблокировать ключ. Это код, который я использовал.

Теперь эта программа отключила ключ И вызов реестра, поэтому я просто вставил это в "case: 0x__"

try {
Process process = Runtime.getRuntime().exec("C:\\Program Files\\AutoHotkey\\AutoHotkey.exe \"C:\\Program Files\\AutoHotkey\\auto.ahk\"");
} catch (IOException e) {  }

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .