1

我正在构建一个代码来修复 Windows 10 上的键盘布局情况。通过自动化解决方案,我决定使用 PowerShell。但问题是,当我尝试设置 WinUserLanguageList 时,它会突然创建一个新的比利时语言列表。知道为什么会这样吗?

代码

$languageslist = New-WinUserLanguageList -Language en-GB
$languageslist[0].InputMethodTips.Clear()
$languageslist[0].InputMethodTips.Add('0813:00000813')
$languageslist
Set-WinUserLanguageList $languageslist -force
Get-WinUserLanguageList

输出

LanguageTag     : en-GB
Autonym         : English (United Kingdom)
EnglishName     : English
LocalizedName   : English (United Kingdom)
ScriptName      : Latin
InputMethodTips : {0813:00000813}
Spellchecking   : True
Handwriting     : False

LanguageTag     : en-GB
Autonym         : English (United Kingdom)
EnglishName     : English
LocalizedName   : English (United Kingdom)
ScriptName      : Latin
InputMethodTips : {}
Spellchecking   : True
Handwriting     : False

LanguageTag     : nl-BE
Autonym         : Nederlands (België)
EnglishName     : Dutch
LocalizedName   : Dutch (Belgium)
ScriptName      : Latin
InputMethodTips : {0813:00000813}
Spellchecking   : True
Handwriting     : False

想要的输出

LanguageTag     : en-GB
Autonym         : English (United Kingdom)
EnglishName     : English
LocalizedName   : English (United Kingdom)
ScriptName      : Latin
InputMethodTips : {0813:00000813}
Spellchecking   : True
Handwriting     : False

LanguageTag     : en-GB
Autonym         : English (United Kingdom)
EnglishName     : English
LocalizedName   : English (United Kingdom)
ScriptName      : Latin
InputMethodTips : {0813:00000813}
Spellchecking   : True
Handwriting     : False
4

1 回答 1

2

您正在使用的输入法提示设置指定 nl-BE 语言:

荷兰语 - 比利时 nl-BE:比利时语(时期)(0813:00000813)

https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/default-input-locales-for-windows-language-packs

输入代码(键盘)实际上是一个语言:键盘对,所以0813说 nl-BE,00000813而是你想要的键盘。

您可以使用0809比利时键盘更新您的 inputMethodTips 值以用于 en-GB,如下所示:

$languageslist[0].InputMethodTips.Add('0809:00000813')
于 2021-08-06T15:04:44.633 回答