Как отключить только некоторые глобальные ярлыки Windows 10 для использования их в сторонних приложениях?


10

1. Кратко

Я хочу отключить только некоторые глобальные горячие клавиши Windows 10 по умолчанию, чтобы использовать эти горячие клавиши для запуска команд Sublime Text.



2. Деталь

У меня Windows 32-битная 10.0.14393. В Windows 10 у нас много встроенных горячих клавиш .

1. Я хочу отключить

Например, я хочу отключить пользовательские горячие клавиши Win+K, Win+Hи Ctrl+Win+P.

2. Я не хочу отключать

Но, например, я не хочу отключать Win+Dи Win+Rгорячие клавиши. Я часто использую эти горячие клавиши.

3. Sublime Text часть раскладки клавиатуры

{
    "keys": ["super+k"],
    "command": "paste"
},


3. не помогло

1. AutoHotkey Override

Мой код:

#k::return

Win+Kглобальная горячая клавиша для меня отключена, но моя команда Sublime Text pasteтоже не запускается.

2. AutoHotkey перезаписывает глобальные горячие клавиши Windows на горячие клавиши приложения

Мой код:

#IfWinActive ahk_class PX_WINDOW_CLASS
$#2::ControlSend, ahk_parent, % SubStr(A_ThisHotkey, 2)
#IfWinActive

Это работает для меня, но у меня есть ошибки, например:

Ошибка AutoHotkey

Для других горячих клавиш у меня тоже есть ошибки. Было бы хорошо, если бы кто-то улучшил этот код.

3. SharpKeys

Программа SharpKeys может отключить или переназначить Winклавишу, но я этого не хочу.

4. gpedit.msc

Я могу отключить некоторые горячие клавиши по умолчанию , но:

  • Не могу отключить (используя gpedit.msc), например Win+K, Win+Hи Ctrl+Win+P.
  • Я могу отключить Win+Dи Win+R, но я хочу использовать эту горячую клавишу.

5. Простой ключ отключения

Я загружаю простой ключ отключения → я отключаю Win+Kв программе → перезагружаю Windows → Win+Kне отключен для меня.

6. Параметр DisabledHotkeys в реестре Windows

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced]

Я создаю строковый параметр DisableHotkeysсо значением KHPE.

DisabledHotkeys

Win+E, например, отключен для меня, но

  • Win+P, Win+KИ Win+Hне отключены.
  • Этот метод не для отключения, например, Ctrl+Win+Pи Ctrl+Win+F4.


4. Не предлагать

Ответы:


1

Вы можете использовать Autohotkey для переназначения любой горячей клавиши, чтобы отправить другую горячую клавишу, используя команду Send :

#k::
Send {WIN up}
Send {k up}
Send ^+p
return

После этого нажатие Win + K отправит Ctrl + Shift + P, который покажет командную палитру в Sublime Text, вы можете использовать этот способ, чтобы переопределить любую горячую клавишу, чтобы отправить другую горячую клавишу, установить ее на что-то вроде Ctrl + Shift + F3 и назначить, что Горячая клавиша для вставки Sublime Text (в сочетаниях клавиш), а затем используйте Win + K, чтобы отправить Ctrl + Shift + F3 в Sublime Text, который будет вызывать вставку.

Скрипт AutoHotkey:

#k::
Send {WIN up}
Send {K up}
Send !^+{F3}
return

Возвышенные текстовые сочетания клавиш:

{ "keys": ["ctrl+alt+shift+f3"], "command": "paste" }

Редактировать :

Видишь, Please, don't offer AutoHotkey shortcuts redirect to other shortcuts.почему нет? Приведенный выше пример работает даже для Win + R:

#r::
Send {WIN up}
Send {r up}
Send !^+{F3}
return

Текст успешно вставлен через Win + R в Sublime Text.

Изменить 2 :

Если вам действительно нравится назначать реальные горячие клавиши, вы можете отключить все Win+{KEY}горячие клавиши, а затем создать свои горячие клавиши, которые будут действовать так же, как Win+{Key}горячие клавиши по умолчанию , а для других горячих клавиш назначьте свои собственные действия.

Например для Win + R:

explorer.exe Shell:::{2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}

Работает, но для некоторых горячих клавиш сложно найти способ назвать свои действия.


BladeMight, // 1) > Seen your Please, don't offer AutoHotkey shortcuts redirect to other shortcuts. why not? - создайте другой ярлык, если у меня тоже есть ярлык бессмысленный. Зачем нам нужен дополнительный ярлык Win+K, если он у нас есть Ctrl+V? Но я не думал, я забыл, что мы можем менять длинные неудобные горячие клавиши, которые мы не используем. Win+Kтогда удобнее Ctrl+Win+Alt+Shift+F3. Спасибо за решение!
Саша Черных

// 2) you could disable all Win+{KEY} hotkeys, - это похоже на решение VoidVolker ? И как я могу найти цифры, как {2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}для горячих клавиш? Спасибо.
Саша Черных

BladeMight, пожалуйста, добавляйте returnпосле каждого вашего скрипта. В противном случае, если я использую много скриптов в одном .ahkфайле, все скрипты запускаются для меня. Спасибо.
Саша Черных

1
@ СашаЧерных О Shell ::: вот список g-ek.com/clsid-guid-spisok-shell-v-windows-10, но в основном для папок.
BladeMight

1
@ СашаЧерных также здесь ipmnet.ru/~sadilina/Windows/227.html может быть полезным.
BladeMight

0

Взгляните на DisabledHotkeysзначение реестра, применяемое в этой ветке:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced

Установка значений данных KHPбудет блокировать комбинации WinKey+ K, WinKey+ Hи WinKey+ P.

Src: значение реестра DisabledHotkeys


w32sh, я установил параметр DisableHotkeys → Я перезагружаю Windows → Win+P, Win+Kи Win+Hглобальные ярлыки запускаются для меня, как раньше (. Спасибо.
Саша Черных

Просто проверил это здесь. Кажется, он не работает для PH и K. Он способен блокировать WinKey + E. Я хотел бы удалить свой ответ.
w32sh

1
w32sh, сейчас я тестировал другие горячие клавиши. Он может блокировать только горячие клавиши, как в gpedit.msc . Спасибо.
Саша Черных
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.