如何禁用某些Windows 10全局快捷方式以在第三方应用程序中使用它们?


8

1.简单地说

我想只禁用一些Windows 10默认全局热键,使用此热键运行Sublime Text命令。



2.细节

我有Windows 32位10.0.14393。在Windows 10中我们有 许多本土热键

我想禁用

例如,我想禁用自定义热键, 赢+ K 赢+ H 按Ctrl +赢+ P

我不想禁用

但是,例如,我不想禁用 WIN + d 赢+ R 热键。我经常使用这些热键。

3. Sublime Text键映射部分

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


3.没有帮助

1。 AutoHotkey覆盖

我的代码:

#k::return

赢+ K 我禁用了全局热键,但是我的Sublime Text命令 paste 不运行。

2。 AutoHotkey将全局Windows热键覆盖为应用程序的热键

我的代码:

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

它对我有用,但我有bug,例如:

AutoHotkey bug

对于其他热键我也有错误。如果有人会改进这段代码会很好。

3。 SharpKeys

SharpKeys程序可以禁用或重新分配 赢得 关键,但我不想要这个。

4。 输入gpedit.msc

我可以禁用 一些默认热键 ,但是:

  • 我不能禁用(使用gpedit.msc),例如, 赢+ K 赢+ H 按Ctrl +赢+ P
  • 我可以禁用 WIN + d 赢+ R ,但我想用这个热键。

5。 简单的禁用键

我下载了 简单的禁用键 →我禁用了 赢+ K 在程序→我重新启动Windows→ 赢+ K 对我没有禁用。

6。 Windows注册表中的DisabledHotkeys参数

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

我创建字符串参数 DisableHotkeys 有价值的 KHPE

DisabledHotkeys

赢+ E 例如,对我来说是禁用的,但是

  • 赢+ P 赢+ K 赢+ H 没有禁用。
  • 例如,此方法不适用于禁用 按Ctrl +赢+ P 按Ctrl + WIN + F4


4.不要提供

Answers:


1

您可以使用Autohotkey重新映射任何热键以使用发送另一个热键 发送 命令:

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

在此按下Win + K将发送一个Ctrl + Shift + P,它将显示Sublime Text中的Command Palette,您可以使用这种方式覆盖任何热键以发送另一个热键,将其设置为Ctrl + Shift + F3并指定热键到Sublime Text的粘贴(在键绑定中),然后使用Win + K将Ctrl + Shift + F3发送到Sublime Text,它将调用paste。

AutoHotkey脚本:

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

Sublime Text键绑定:

{ "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

文本通过Sublime Text中的Win + R成功粘贴。

编辑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 会阻止 维琪 + ķ 维琪 + H 维琪 + P 组合。

源: DisabledHotkeys注册表值


w32sh,我 设置DisableHotkeys参数 →我重新启动Windows→ Win+PWin+KWin+H 像以前一样为我运行全局快捷方式(.Thanos。
Саша Черных

刚刚在这里测试过。它似乎不适用于P H和K.但它能够阻止WinKey + E.我想删除我的答案。
Win32Guy

1
w32sh,我现在在其他热键上测试过。它只能阻止热键 喜欢在gpedit.msc 。谢谢。
Саша Черных
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.