禁用特定热键

禁用特定热键

在 Windows 8 上,在任何程序中按“Windows + T”可将键盘焦点移动到任务栏。

我想为该热键指定不同的功能,但默认热键会覆盖我的自定义功能。如何禁用任务栏热键?

答案1

禁用特定热键

尽管没有记录,但文件资源管理器(以前称为 Windows 资源管理器)提供了每个用户的注册表项,可以有选择地禁用某些与资源管理器相关的热键。注册表值称为DisabledHotkeys,位于:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced

字符串数据中的每个字符代表一个要禁用其所有支持组合的键。例如,F禁用Win+FWin+ Ctrl+ F。解释是按照程序员所知道的虚拟键码。字母键必须大写。对于F1键,使用小写p。对于Break键,字符必须具有数值0x13

来源:禁用全局热键

例子

要禁用Win+,T请按照下列步骤操作:

  1. 打开命令提示符

  2. 键入或粘贴以下命令,然后按Enter

    reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "DisabledHotkeys" /t REG_SZ /d "T" /f
    
  3. 注销并重新登录以应用更改。

评论

  • 适用于 Windows Vista 及更高版本。仅支持最多 22 个字符的数据。

  • 根据我的测试,使用此方法您无法禁用以下Win+x快捷方式:

    • Windows Vista

      Tab L U

    • Windows 7的

      Tab C H L P U V

    • Windows 8.x

      Tab Space C H I J K L O P U V X Z

参考

答案2

我不知道如何禁用单个 Windows 键热键,但它们可以被禁用集体通过注册表更改,在这里表达为Microsoft 的 .reg 文件格式

"Windows Registry Editor Version 5.00"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoWinKeys"=dword:00000001

上述更改可在注册表编辑器中手动进行,或通过将上述示例复制到扩展名为“.reg”的文件并运行它;然后,通过任务管理器重新启动 Windows 资源管理器(或直接注销并重新登录),以使更改生效。要撤消更改,请修改文件以包含dword:00000000,运行它,然后重新启动资源管理器。(在链接的站点上,您可以下载一个包含针对这两个选项预先编写的 .reg 文件的 zip 文件。)

如果你想保留一些 Windows 键热键,同时禁用其他热键,据我所知,最好的选择是使用上述方法禁用它们,然后使用自动热键或者一些等效的方法为您希望保留的操作创建热键绑定。

某些操作(例如以Win-形式调用运行对话框r)需要 Windows API 调用来实现;本网站提到了调用运行对话框的命令行方法,因此:

rundll32.exe shell32.dll,#61

其他特殊行动也会有类似的方法;可能需要一些挖掘,但耐心和毅力最终会将它们发现。

更新:即使使用这种方法,您也可能会发现无法覆盖“锁定屏幕”热键Win- l;距离我上次弄乱它已经过去了几年,但如果我没记错的话,该和弦被困在足够低的级别,甚至用户的 Windows 资源管理器会话也看不到它,这意味着这种方法不会影响它。当然,我可能记错了,所以试一试看看会发生什么。

相关内容