因为做开发用的一些IDE编辑器大多默认的自动代码补全快捷键是Ctrl+空格,例如Eclipse、MyEclipse、VSCode、QtCreator。
而Windows中,中文输入法中英文切换的热键也是Ctrl+空格,这就很令人恼火~~无论怎么修改,下次重启系统又被恢复为Ctrl+空格,如下图所示
这里给出两种解决方案,如下
方案一:手动禁用按键顺序,重启失效(不推荐)
如下图所示,打开高级键盘设置,然后选中中文简体,禁用“启用按键顺序”。如果你不知道在Windows 10中如何找到下面的设置,那么就直接在运行中输入如下的命令即可。
rundll32 Shell32.dll,Control_RunDLL input.dll,,{C07337D3-DB2C-4D0B-9A93-B722A6C106E2}{HOTKEYS}
方案二:使用batch脚本修改注册表并重启ctfmon(推荐)
注意,这种方案只是用脚本的形式来实现了方案一中操作过程。脚本执行完成之后,你需要重启你的IDE编辑器
。至于为嘛要重启,想想程序的热键注册顺序就知道了
下面是脚本的代码信息,你可以拷贝此内容然后保存为bat文件(注意Windows 10中记事本默认是UTF8编码,bat脚本中的中文可能会显示乱码,你可以通过我提供的下载地址来下载我制作好的文件)
@echo off
cls
color 0A
title 移除系统Ctrl + 空格热键
::
:: Author: 浅笑 @//www.youranshare.com
:: 查找方案不易,转载请注明出处
::
:PERMISSION_CHECK
echo.&echo 检查Administrator权限...
net session >nul 2>&1
if %errorLevel% == 0 (goto START_EXEC) else (cls&echo.&echo 当前不是管理员权限,准备请求管理员权限.&echo 如果弹出UAC,请确认后继续&echo.&Powershell Start "%0" -Verb Runas&exit)
:START_EXEC
REG ADD "HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000010" /v "Key Modifiers" /t REG_BINARY /d 00C00000 /f & REG ADD "HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000010" /v "Virtual Key" /t REG_BINARY /d FF000000 /f & taskkill /IM ctfmon.exe /F >nul
echo 完成,请重启你的编辑器,然后尝试Ctrl + 空格
ping 127.0.0.1 -n 3 > nul
exit
转载请注明:悠然品鉴 » Windows 7/8/10 系统占用Ctrl+空格热键的问题