2016-06-22 13:36:38 +0000 2016-06-22 13:36:38 +0000
121
121

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

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


*注意。 *快速语言列表指的是下面截图中的列表,可以通过快捷键Win +空格键

我的系统中有两种语言用于windows拼写检查,英语(美国)法语(瑞士),但尽管这两种语言都正确配置了 “瑞士法语 "输入键盘,美国键盘输入却一直出现在这个列表中。

这里是英语(美国)语言的设置,你可以看到唯一的输入是 "瑞士法语"。

同样是法语(瑞士),唯一的输入是 "瑞士法语"。

在控制面板中,也都设置为瑞士法语:

我的所有设置都设置为使用 "语言列表"。

下面是我已经尝试过的一些东西:

-我已经通过一些语言配置体操把它去掉了 通过添加和删除语言,它最终还是回来了 -我已经做了这个。https://superuser.com/a/484595/168632 -我的注册表设置中也没有提到US Keyboard。

请帮助我,我很绝望,这是我第三台使用Windows 10的电脑,他们都做了同样的事情。

答案 (10)

107
107
107
2016-06-29 14:00:54 +0000

要解决这个问题,请删除Preload注册表文件夹,然后签出重启计算机。

HKEY_USERS\.DEFAULT\Keyboard Layout\Preload

这个文件夹似乎是一些遗留的东西 包含了非用户指定的键盘布局 在用户签到时被添加到语言列表中 虽然修复本身通过重启起作用,但在写文章的时候,有一些东西会让那个讨厌的文件夹重新,这里有几个是我个人碰到的。

-远程桌面到美国布局的电脑上 -在另一台电脑上使用相同的微软账户,但仍然有这个问题

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

编辑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。然后每当它回来的时候,你可以直接双击它,然后重新启动或签出。

61
61
61
2017-01-28 11:03:27 +0000

**

  • 进入Region and Language (之前名为Language preferences),点击English (United States),然后进入Options

  • 如果你在那里看到 “US Keyboard",将其删除 ,就可以了。

  • HOWEVER,如果你没有看到它,那么点击Add a keyboard ,添加 "US keyboard",然后删除该键盘,就可以了。

我在尝试了各种方法后发现了这个问题,我也有同样的问题。

7
7
7
2019-07-14 17:17:25 +0000

经过一个小时的时间,我找到了答案,截至目前的构建。

OS Name: Microsoft Windows 10 Pro
OS Version: 10.0.18362 N/A Build 18362
  1. 这很容易做到。并设置好。
  2. 它将阻止为新用户创建任何其他语言。
  3. 它将不再在登录屏幕上显示这些语言。
  4. 没有注册表黑客,重启后对我不起作用。

你也可以通过( 但确保先检查你的语言设置–见下面的截图 )。

控制面板区域 → 管理标签 → 复制设置…


下面是图片中的步骤,图片中也有注解,供参考。

那么你的注册表应该是这样的,只有一个预加载。

把这个Computer\HKEY_USERS\.DEFAULT\Keyboard Layout\Preload复制到注册表编辑器的地址栏里,直接跳到上面自己检查。

6
6
6
2018-01-07 23:28:03 +0000

这不是永久的修复方法,而是一个方便的批处理文件,它可以添加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/en-us/previous-versions/windows/it-pro/windows-8.1-and-8/hh825682(v=win.10)

5
5
5
2016-06-22 13:44:11 +0000

在windows 10中,有两个地方可以进行键盘配置,控制面板->语言

另一个是在设置中,就像你的截图一样

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

4
4
4
2016-09-20 19:25:53 +0000

我在注册表中没有409条目(见接受的回答)。我采取的步骤是从快速选择菜单中删除英语(美国)。

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

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

2
2
2
2017-12-24 15:27:09 +0000

米克尔的上述回答解决了这个问题….,但是为了防止你再次出现这个问题(就像我一样)。你是否有个自定义的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键盘布局),反之亦然,而在我的笔记本上,我的键盘是美国的,这个脚本要为我的语言切换器上突然出现的额外布局负责。

希望能帮到你!

2
2
2
2017-09-21 09:56:55 +0000
  1. 控制面板
  2. 时钟、语言和区域
  3. 语言
  4. 更改输入法
  5. 高级设置
  6. 覆盖默认输入法
  7. 选择您喜欢的布局(而不是 “使用语言列表")
  8. 保存

8.

1
1
1
2018-08-10 19:20:53 +0000

其实问题似乎也是出在你实际的用户配置文件下的同一个键上(HKEY_USERS\S-1-5-21-...\Keyboard Layout\Preload),而不仅仅是HKEY_USERS\.DEFAULT\Keyboard Layout\Preload

我可以很稳定地复制这个问题–当我在那里添加一个键00000429(波斯语)并重启时,我得到了自动添加的波斯语键盘,而当我删除它并重启时,波斯语不再存在。

总而言之,你可能要确保你在HKEY_USERS\.DEFAULT\Keyboard Layout\PreloadHKEY_USERS\S-1-5-21-...\Keyboard Layout\Preload中都没有不想要的语言。

1
1
1
2018-12-08 17:14:33 +0000

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

但我能够通过PowerShell使用这样的脚本来克服它。

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

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

上面的演示将美国的布局配置为默认,并增加了NL和BE布局。根据需要进行调整。