典型问题:某人安装了显示语言为 A 的 Windows 10,但使用键盘布局 B。该怎么做才能阻止 Windows 自动将语言 A 中不需要的键盘布局添加到系统中?
我的例子:我有一个英文版的 Windows 10,我使用的是斯洛文尼亚键盘布局。这一直运行良好,直到我运行某个程序,Windows 非常聪明地认为需要美国键盘布局。Windows 会自动添加这个不需要的布局,切换到它,之后不会将其删除。新布局甚至没有列在已安装的布局中。在它出现后删除它的唯一方法是手动将其添加为键盘布局并将其删除。
这似乎是很多人的常见问题,但经过几个小时的谷歌搜索,我就是找不到一个好的解决方案......如果我可以从我的系统中完全删除美国键盘布局,那就完全没问题了,但如果我这样做,键盘就会在某些程序中停止工作。
我或其他人遇到此问题的程序:ICQ、某些版本的 Microsoft Office(哈哈)、基于 Source 引擎的游戏、某些版本的 UltraVNC、Adobe CC Suite,等等。
答案1
我不确定您已经尝试过什么,但这里有一些可能对您有帮助的解决方案。
覆盖默认输入法
如果你转到:控制面板 > 所有控制面板项 > 语言 > 高级设置
您将看到一个覆盖默认输入法的选项。您可以将其设置为您想要的键盘设置。
如果您单击“更改语言栏热键”(见下图),则可以更改ALT+SHIFT或CTRL+SHIFT热键。高级选项卡中的按钮将显示更改键序列。您可以将它们设置为未分配。
在语言选项中设置默认输入法
如果你转到:控制面板 > 所有控制面板项 > 语言
将会出现如下屏幕
- 选择您想要的语言并将其移至顶部。
- 然后点击选项
- 将会弹出第二个屏幕。
- 在您的英语斯洛文尼亚语键盘中添加不同的输入法,然后删除另一个。
添加注册码
您可以添加双字称为忽略远程键盘布局使用 regedit 进入以下文件夹。将其设置为1。
HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Control > Keyboard Layout
或者将其复制并粘贴到文本编辑器中并将其保存为 .reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"IgnoreRemoteKeyboardLayout"=dword:00000001
然后双击它,它将为您添加注册表项。
在 REG 中也删除键盘布局
- 转到区域和语言设置
- 单击那里唯一的语言选项
- 在键盘下删除美国布局
- 保存该设置
- 然后启动 regedit 并转到 HKEY_CURRENT_USER > Keyboard Layout > Preload
- 右键单击“预加载”,然后单击“权限”
拒绝所有人的权限,但确保 1 个帐户仍能更改它。(只需创建一个新帐户并授予该访问权限)。否则,您将无法访问该注册表映射。现在只有其他用户可以更改该注册表项。
我仍在寻找更多可能的解决方案,但这是我目前得到的结果。请告诉我它对你有什么帮助。
答案2
注意!!! 该解决方案将删除美国布局的注册表项!!!
只有当您知道自己在做什么时才使用!
首先备份你的注册表!
在 PowerShell 中执行:
Remove-Item -Path "Registry::HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Keyboard Layouts\00000409" -ErrorAction SilentlyContinue;
Remove-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Keyboard Layout\DosKeybCodes" -Name "00000409" -ErrorAction SilentlyContinue;
Remove-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Keyboard Layout\DosKeybCodes" -Name "00000409" -ErrorAction SilentlyContinue;
后一些Windows 更新可能需要重新执行命令。
它只能被视为一个临时解决方案,直到您找到更正确的解决方案。