在 Windows 10 中识别、查找和修改或删除键盘快捷键和热键

在 Windows 10 中识别、查找和修改或删除键盘快捷键和热键

热键帮助 - 快捷键悲伤!

我使用 Steinberg 的专业级数字音频工作站 (DAW) 环境“Cubase”。它具有多个预定义的快捷键,并且能够创建用户定义的快捷键。其中一个命令快捷键与名为“nView 桌面管理器调试”的 nVidia 显示驱动程序实用程序“重叠”。

不幸的是,似乎没有办法修改ShiftCtrlAltN分配给此实用程序的快捷方式。我需要确定此快捷方式在注册表中的位置 - 要么找到实际的 Explorer 快捷方式(并在快捷方式的“属性”窗口下手动删除其快捷键),要么导航到注册表中的正确值并删除在那里分配的全局快捷键 - 以便我的音乐制作环境按要求运行。

[是的!这是第一世界的问题,不是吗?]

因此,有三个问题:

  1. 这些全局键盘快捷键组合存储在注册表中的什么位置?
  2. 有没有办法显示系统当前使用的所有键盘快捷键(如果需要,包括所有预定义的 Windows 快捷键!)?
  3. 有没有办法列出所有已分配键盘快捷键的 Explorer 快捷方式(无论是由个人用户还是由安装它们的应用程序分配)?

我花了数周时间解决这个问题,包括安装 HotKeyCommander 和多个其他实用程序(它们要么没有提供必要的信息,要么无法在 64 位系统上成功运行,要么没有提供足够的信息让我找到并修改/删除有问题的注册表项)。

提前致谢,

史蒂夫。

答案1

Windows 不会将正在运行的应用程序的键盘快捷键(技术上称为加速键)存储在注册表中。相反,当应用程序启动时,它会使用Windows 的消息循环接入消息队列(类似于“中间人”攻击),拦截消息(例如WM_KEYDOWN),然后将该消息传递给其他应用程序或“吃掉”它,以便其他应用程序不会收到它。

然而,很可能您可以禁用有问题的应用程序“nView 桌面管理器调试”没有明显的效果。另外,是否有必要运行调试版本,开发人员和技术支持人员会用它来跟踪应用程序中的问题吗?也许正常的非调试应用程序不会窃取这些击键。

答案2

至于第 3 点,

有一个系统键文件,其中有一个诊断部分,用于搜索用户设置的热键。请参阅https://onedrive.live.com/?id=E2F0CE17A268A4FA%21121&cid=E2F0CE17A268A4FA并点击快捷键和键修饰符.hta

应用程序键在 exe 文件中定义,可以作为资源或通过代码定义。

您想要的术语是热键。热键是全局的,应用程序热键有两种类型 - 一种用于程序处理,一种用于激活窗口。

当你设置快捷键对于桌面快捷方式,Explorer 使用 RegisterHotkey 将该热键注册到自身。如果您按下该热键并导致 GUI 程序(Explorer 调用 WaitForInputIdle),Explorer 将取消注册该热键并使用 WM_SetHotkey 将其分配给创建的窗口。

相关内容