如何防止Windows 10自动添加键盘布局(例如,美国键盘)


109

更新:这是篇冗长的文章,您可以直接跳到下面的答案


注意:快速语言列表是指以下屏幕快照中的列表,可通过快捷键Win +空格键访问

我的系统中有两种用于Windows拼写检查的语言,英语(美国)法语(瑞士),但是尽管这两种语言都已正确配置了“瑞士法语”输入键盘,但“ 美国键盘”输入仍然出现在此列表中:

在此处输入图片说明

这是英语(美国)语言的设置,您可以看到唯一的输入是“瑞士法语”:

在此处输入图片说明

Français(Suisse)相同,唯一的输入是“ Swiss French”:

在此处输入图片说明

在“控制面板”中,两者都设置为“瑞士法语”:

在此处输入图片说明

我所有的设置都设置为使用“语言列表”:

在此处输入图片说明 在此处输入图片说明

这是我已经尝试过的一些方法:

  • 我已经设法通过一些语言配置体操将其删除,通过添加和删除语言,它最终总是会回来
  • 我已经做到了:https : //superuser.com/a/484595/168632
  • 在我的注册表设置中也没有提到US Keyboard:

在此处输入图片说明

请帮助,我很拼命,这是我的第三台装有Windows 10的计算机,它们都执行相同的操作。


如果您需要一些可以在“自动启动+删除不需要的条目”上运行的脚本怎么办?
谢尔盖·拉林

Win + Shift +空格键
SmartManoj


只有这个工作对我来说answers.microsoft.com/en-us/windows/forum/... ,这也阻止添加新的布局,除非你允许它
rofrol

Answers:


98

要解决此问题,请删除“ 预加载”注册表文件夹,然后注销重新启动计算机:

HKEY_USERS\.DEFAULT\Keyboard Layout\Preload

此文件夹似乎是一些旧残留物,其中包含用户登录时要添加到语言列表中的非用户指定的键盘布局。尽管修复程序本身通过重新启动而起作用,但在撰写本文时,还是有一些东西使该讨厌的东西恢复原状。文件夹,以下是我个人遇到的一些问题:

  • 远程桌面到具有美式布局的计算机
  • 在仍然存在此问题的另一台PC上使用相同的Microsoft帐户

每当问题再次出现时,都需要再次删除该注册表文件夹。

编辑2: 感谢@ Lu55的建议,这是一个方便的单行代码,可用于具有管理员权限的命令提示符:

reg delete "HKEY_USERS\.DEFAULT\Keyboard Layout\Preload" /f

编辑: 我已经创建了一个RemovePreload.reg包含以下内容的文本文件,这样,每次无需浏览注册表就可以轻松地重新应用此修复程序:

Windows Registry Editor Version 5.00

[-HKEY_USERS\.DEFAULT\Keyboard Layout\Preload]

要使用此功能,请将其保存在文本文件中,并将扩展名从更改.txt.reg。然后,只要它回来,您都可以双击它,然后重新启动或注销。


1
谢谢!这是唯一最终为我解决的问题。登录时,总是会添加美国键盘布局。我可以先添加它,然后再将其删除,就像Snaiper的答案一样,但可以将其删除,但是重新启动后它始终会重新出现。这似乎已将其永久删除。
The Oddler's

3
反正会出现一段时间。
troorl

是啊,现在又出现了对我来说太:(之所以能够无需重新显示它只有一次重启似乎。
该Oddler

1
添加和移除键盘的解决方案更加安全,而且像这一样
笨拙

您是否尝试过Preload删除其条目并限制对该密钥的权限,而不是删除密钥?我进入的权限Preload,高级,禁用继承,转换了所有继承的权限,删除了所有继承的权限,为添加了只读权限Everyone,然后保存了。这样可以防止Windows重新添加重新添加键盘配置文件的条目。
贝尔

58

实际上,该解决方案非常简单,不需要编辑注册表!

  • 转到地区和语言(以前称为语言首选项),单击英语(美国),然后转到选项

  • 如果在此处看到“美国键盘”,请将其删除,然后完成。

  • 但是,如果在此处看不到它,请单击“ 添加键盘”,添加“美国键盘”,然后卸下该键盘,就可以了。

经过反复尝试各种事情后,我发现这个问题,但我遇到了同样的问题。


18
重新启动后出现。
troorl

6
第三点是字面意思:“您是否尝试过将其打开和关闭?”……就这样了:)谢谢!
ccjmne

3
重新启动后无法正常工作,我在提出上述解决方案之前对其进行了测试
Luis Ferrao

1
是的,重启或休眠计算机后无法使用。
奥赞·库尔特

2
在2018年6月Windows 10更新之后,英语美国的``删除''设置被禁用。(Grr。)
ms609

6

这不是永久性修复,而是一个方便的批处理文件,该文件添加了en-US键盘布局,然后将其删除。(您必须先添加它才能删除它。)

Remove_en-US.xml

<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend">

    <!--User List-->
    <gs:UserList>
        <gs:User UserID="Current"/>
    </gs:UserList>

    <!--input preferences--> 
    <gs:InputPreferences>
        <!--add en-US keyboard input-->
        <gs:InputLanguageID Action="add" ID="0409:00000409"/>
        <!--remove en-US keyboard input-->
        <gs:InputLanguageID Action="remove" ID="0409:00000409"/>
    </gs:InputPreferences>

</gs:GlobalizationServices>

Remove_en-US.bat

control intl.cpl,, /f:"%CD%\Remove_en-US.xml"

然后,您可以运行Remove_en-US.bat以删除布局。我的启动程序中也有此批处理文件的快捷方式。

0409locale ID00000409是键盘布局值。有关列表的列表,locale ID:keyboard layout value请参见https://docs.microsoft.com/zh-cn/previous-versions/windows/it-pro/windows-8.1-and-8/hh825682(v=win.10)


5

到目前为止,一个小时后,我就找到了构建的答案:

OS Name:                   Microsoft Windows 10 Pro
OS Version:                10.0.18362 N/A Build 18362
  1. 即使重新启动也可以使用。
  2. 这很容易做到。并做好准备。
  3. 它将停止为新用户创建任何其他语言。
  4. 它也将不再在登录屏幕中显示这些语言。
  5. 重新启动后,没有注册表破解对我不起作用。

您也可以通过(但请确保先检查您的语言设置-参见下面的屏幕截图)。

控制面板区域Administrative选项卡→Copy settings...


这是图像中的步骤,图像中还带有标记,以供参考。

如何

然后您的注册表应该看起来像这样,只有一个预加载。

将其复制Computer\HKEY_USERS\.DEFAULT\Keyboard Layout\Preload到注册表编辑器的地址栏中,直接跳转到它进行检查。

一个预载


4

Windows 10中的键盘配置有两个位置,控制面板->语言

另一个就像您的屏幕截图一样在设置中

也在那里进行更改,它应该可以解决问题。

在此处输入图片说明


不幸的是,这是不是,我也补充说,屏幕截图我的电脑上,它的正确与“瑞士法国”完全相同的方式配置为在新的UI
路易斯Ferrao

4

我在注册表中没有409条目(请参阅接受的答案)。我从快速选择菜单中删除英语(美国)所采取的步骤:

  1. 从快速选择菜单中打开“语言首选项”。
  2. 添加英语(美国)语言。
  3. 删除英语(美国)语言。

提示:在控制面板\所有控制面板项目\语言\高级设置->更改语言栏热键中,您可以将“输入语言之间”的热键操作设置为“(无)”,以避免意外的键盘布局切换。


2
我认为您的答案错过了这个问题的重点。问题不是要删除我输入的并且肯定要在我的语言列表中使用的美国英语,重点是要删除不存在的“美国键盘”布局,该布局与我自己的键盘布局不匹配,并且会逐层蔓延。偶尔作为语言列表中的附加“语言”。关于删除美国英语本身的话题有很多,但这不是其中之一。我也不是要删除语言列表,而是一直使用它来快速切换语言(用于Windows的拼写检查器)。
路易斯·法拉罗

2
  1. 控制面板
  2. 时钟,语言和地区
  3. 语言
  4. 变更输入法
  5. 高级设置
  6. 覆盖默认输入法
  7. 选择您喜欢的布局(而不是“使用语言列表”)

输入设置->高级设置的屏幕截图


现在,最新的win10更新中缺少“语言”。
白金

2

上面Mikel的答案解决了这个问题。...但是,以防万一这再次出现在您面前(对我来说是如此):您是否拥有自定义的AutoHotkey快捷方式来更改键盘布局?

问题是我的AutoHotkey脚本包含以下代码行:

; This should be replaced by whatever your native language is. See 
; http://msdn.microsoft.com/en-us/library/dd318693%28v=vs.85%29.aspx
; for the language identifiers list.
el := DllCall("LoadKeyboardLayout", "Str", "00000408", "Int", 1)
en := DllCall("LoadKeyboardLayout", "Str", "00000409", "Int", 1

因此,尽管在我的台式机上这可以很好地工作,并且从英语(英国键盘布局)切换到希腊语(GR键盘布局),反之亦然,但是在具有美式键盘的笔记本电脑上,此脚本将负责显示多余的布局我的语言切换器上的蓝色。

我希望这有帮助!


1

Windows 10周年纪念版包含一个新的“功能”,其中假定区域和语言设置都带有强制性的键盘布局。这些布局无法通过设置GUI删除。

但是我可以使用以下脚本通过PowerShell克服它:

$1=New-WinUserLanguageList en-US
$1.Add("nl-NL")
$1.Add("de-DE")
Set-WinUserLanguageList $1

将其复制粘贴到PowerShell窗口中。

上面的演示将US布局配置为默认的其他NL和BE布局。根据需要进行调整。


执行此命令后,对我而言没有任何更改
Lu55

0

实际上,问题似乎出在实际用户个人资料(HKEY_USERS\S-1-5-21-...\Keyboard Layout\Preload)上,而不仅仅是HKEY_USERS\.DEFAULT\Keyboard Layout\Preload

我可以非常一致地复制它-例如,当我在其中添加键00000429(波斯语)并重新启动时,我会自动添加波斯键盘,而当我删除它并重新启动时,波斯语将不再存在。

总之,您可能要确保您既没有使用HKEY_USERS\.DEFAULT\Keyboard Layout\Preload也不使用的不受欢迎的语言 HKEY_USERS\S-1-5-21-...\Keyboard Layout\Preload

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.