禁用(解除绑定)默认的 Win+Arrows 热键以使其在其他应用程序中可用

Qta*_*tax 9 windows-7 hotkeys

在 Windows 7 上,我想解除默认的Win+ Up/ Down/ Left/绑定,Right以便可以在其他应用程序中直接绑定*。如何才能做到这一点?

这些热键可以通过以下方式轻松禁用

  1. 前往轻松访问中心
  2. 选择使键盘更易于使用,和
  3. 勾选防止窗口移动到屏幕边缘时自动排列

    环境

但即使使用此设置并禁用热键(它们什么都不做),热键仍然无法绑定到其他应用程序中。


我尝试了以下方法,但这些方法都不起作用

  1. 在“轻松访问中心”中进行上述更改
  2. 启用策略关闭 Windows+X hotkeys,与设置相同:HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoWinKeysto 1。(单独使用此设置,有问题的热键仍然照常工作。)
  3. KB216893 中所述,通过设置System\CurrentControlSet\Control\Keyboard Layout\Scancode Map. 这将完全禁用 windows 键,使其无法在任何地方绑定或使用。
  4. 启用策略关闭 Windows 移动中心


一些谷歌搜索揭示了这篇文章

Win+Arrow 键组合是 Windows 7 中以某种方式“超级注册/保留”的几种(以及 Win+P、Win+U 和 Win+L)之一。我一直试图追踪何时何地他们得到了保留,但到目前为止都是空的。我还尝试了各种技巧来在 Windows 有机会之前保留它们,但到目前为止没有任何效果。无论您是否实际使用它们,这些关键组合只是在深层、内在级别锁定到 Windows。

这家伙没有找到方法,但也许你们中的一些人知道更多。也许有一些我们可以轻松修补的 dll/exe。;-)

*) 我想避免使用其他工具(例如AutoHotKey)来挂钩热键并将其重新映射到可以在常见应用程序中绑定的其他东西。

Syn*_*ech 7

这家伙没有找到方法,但也许你们中的一些人知道更多。

不见得。自从Windows Vista+ 出现以来,我一直试图找到一种方法来防止它们占用热键

事实是,与大多数可以通过NoWinKeys设置禁用的 Windows 热键不同,有几个不是通过 Windows 资源管理器注册的。相反,较高(较低?)级别的CSRSS在启动过程的早期注册了几个热键,因此您不仅不能先注册它们,而且没有设置不使用它们。这些是专门处理的键:

Win + P
Win + L
Win + U
Win + G
Win + X
Ctrl + Shift + Esc
Ctrl + Alt + Del
Run Code Online (Sandbox Code Playgroud)

它们可以被某些程序(例如 AutoHotkey)覆盖,但不会以您正在寻找的方式覆盖(允许程序全局注册它们)。

也许有一些我们可以轻松修补的 dll/exe。;-)

这也不太可能。这将需要破解 Windows 的核心组件,即使找到并修补了注册热键的位置,也意味着您必须防止安全软件将补丁视为感染,并确保在每次更新后重新应用补丁。 Windows更新。


您可以尝试使用Windows 热键资源管理器,它使用 Windows 挂钩来确定全局热键的来源。不幸的是,它只将这些特殊组合显示为由 保留System,这意味着它们由 Windows 核心加载。WHE 更有趣的是,即使在使用这些键的 Windows XP 中,它也对这些键表示相同的意思。这意味着它们实际上不像其他的那样被读取,而是硬编码,不幸的是,即使使用低级 Windows 挂钩,WHE 也不能直接访问它们。这使得特别不可能制作任何类型的简单补丁、驱动程序等来阻止它们被绑定。


可悲的是,最好、最有效的解决方案是留下Microsoft 反馈,并希望他们在未来的更新中对其进行更改,但这种方法很少奏效。

就我而言,我只是让步并更改了我的 XMPlay 热键,改为使用数字键盘上的箭头键。


cli*_*ole 0

至少有两个工具可以做到这一点。

第一个是Microsoft Keyboard Layout Creator

在此输入图像描述

第二个是KeyTweak

在此输入图像描述

有关相关问题的更多信息:重新编程我的键盘的程序?