9

В Windows 7 я хотел бы отменить привязку Win+Up/Down/Left/Right по умолчанию, чтобы их можно было связывать напрямую * в других приложениях. Как это может быть сделано?

Эти горячие клавиши могут быть легко отключены с помощью:

  1. Переходя в центр легкого доступа,
  2. выбрав Сделать клавиатуру проще в использовании, и
  3. Установите флажок Запретить автоматическое расположение окон при перемещении к краю экрана:

    настройка

Но даже при использовании этого параметра и отключении горячих клавиш (они ничего не делают), горячие клавиши все равно не могут быть связаны в других приложениях.


Я пробовал следующие способы и ни одна из этих работ:

  1. Внесение вышеуказанных изменений в центр удобства доступа
  2. Включение политики Отключите горячие клавиши Windows+X, что соответствует значению параметра: HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoWinKeys to 1 . (Только с этой настройкой рассматриваемые горячие клавиши по-прежнему работают как обычно.)
  3. Отключение ключа Windows, как описано в KB216893, путем установки System\CurrentControlSet\Control\Keyboard Layout\Scancode Map . Это полностью отключает ключ Windows, так что его нельзя никуда связывать или использовать.
  4. Включение политики Отключение Windows Mobility Center


Некоторый поиск в Google показал этот пост:

комбинации клавиш Win+Arrow - одна из нескольких (наряду с Win+P, Win+U и Win+L), которые как-то «супер-зарегистрированы / зарезервированы» в Windows 7. Я пытался отследить, где и когда они зарезервированы, но до сих пор оказались пустыми. Я также пробовал различные приемы, чтобы зарезервировать их до того, как у Windows появится шанс, но пока ничего не работает. Эти комбинации клавиш просто привязаны к Windows на глубоком внутреннем уровне независимо от того, используете ли вы их на самом деле.

Этот парень не нашел пути, но, возможно, некоторые из вас знают больше. Может быть, есть какая-нибудь dll/exe, которую мы можем легко исправить. ;-)

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

4 ответа4

7

Этот парень не нашел пути, но, возможно, некоторые из вас знают больше.

Скорее всего, не. Я пытался найти способ, чтобы Windows Vista+ не включала горячие клавиши с момента их появления .

Дело в том, что в отличие от большинства горячих клавиш Windows, которые можно отключить с помощью параметра NoWinKeys , некоторые из них не зарегистрированы через проводник Windows. Вместо этого выше- (ниже-?) Уровень CSRSS регистрирует несколько горячих клавиш в начале процесса загрузки, поэтому вы не только не можете сначала зарегистрировать их, но и не существует настроек, позволяющих их не использовать. Эти ключи специально обрабатываются:

Win + P
Win + L
Win + U
Win + G
Win + X
Ctrl + Shift + Esc
Ctrl + Alt + Del

Они могут быть переопределены некоторыми программами, такими как AutoHotkey, но не так, как вы ищете (что позволяет программам регистрировать их глобально).

Может быть, есть какая-нибудь dll/exe, которую мы можем легко исправить. ;-)

Это также маловероятно. Это потребует взлома основных компонентов Windows, и даже если место, где зарегистрированы горячие клавиши, будет найдено и исправлено, это будет означать, что вам придется запретить программному обеспечению безопасности рассматривать исправление как инфекцию и обязательно повторять его применение после каждого Центр обновления Windows.


Вы можете попробовать Windows Hotkey Explorer, который использует хуки Windows для определения источника глобальных горячих клавиш. К сожалению, он показывает только эти специальные комбинации как зарезервированные System , то есть они загружены ядром Windows. Что еще более интересно с WHE, это то, что он говорит то же самое для этих ключей даже в Windows XP, где они не используются. Это подразумевает, что они на самом деле не читаются как другие, а вместо того, чтобы жестко кодироваться, что, к сожалению, означает, что даже с низкоуровневыми хуками Windows, WHE не может напрямую получить к ним доступ. Это делает маловероятным, чтобы можно было создать какой-либо простой патч, драйвер и т.д., Чтобы они не были связаны.


К сожалению, лучшим и наиболее эффективным решением было бы оставить отзывы Microsoft и надеяться, что они изменят ее в будущем обновлении, но это редко, если вообще работает.

В моем случае я просто сдался и изменил свои горячие клавиши XMPlay, чтобы вместо них использовать клавиши со стрелками на цифровой клавиатуре.

0

Для этого есть как минимум два инструмента.

Во-первых, Microsoft Keyboard Layout Creator

Второй KeyTweak

Для получения дополнительной информации по связанному вопросу: Запрограммировать перепрограммирование моей клавиатуры?

0

AutoHotkey может переопределять и делать все что угодно с помощью сочетаний клавиш Windows.
См. Эту документацию: переопределение или отключение горячих клавиш.

AutoHotkey также может выполнять свои действия в зависимости от текущего окна или процесса, фактически привязывая ключи по-разному к различным процессам. Смотрите, например, Активация и манипулирование окнами.

Для получения дополнительной информации об AutoHotkey см .:

Учебник и обзор
Документация AutoHotkey

0

Вы можете добавить следующий реестр [WIN +R -> regedit.exe ]:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System + справа, создайте новую 32-битную DWORD + дважды щелкните на вновь созданной записи DisableLockWorkstation и измените ее значение с 0 (ноль) на 1 (один).

Ссылка http://www.intowindows.com/how-to-disable-windowsl-shortcut-key-in-windows-78-1/

PS. Нет необходимости в перезагрузке xD

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