如何在Windows XP / 7上通过命令行cmd.exe更改键盘布局?


Answers:


11

是。

http://blogs.msdn.com/b/shawnste/archive/2007/04/12/configuring-international-settings-from-the-command-line.aspx

http://msdn.microsoft.com/en-us/goglobal/bb964650#eyb

命令行示例:

control intl.cpl,, /f:"%CD%\AddKeyboardLanguage.xml"

AddKeyboardLanguage.xml示例:

<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"> 
<gs:UserList>
<gs:User UserID="Current" CopySettingsToDefaultUserAcct="true" CopySettingsToSystemAcct="true"/></gs:UserList> 
<gs:InputPreferences> 

<!--ch-Google--><gs:InputLanguageID Action="add" ID="0804:E0200804"/>

</gs:InputPreferences>
</gs:GlobalizationServices>

RemoveKeyboardLanguage.xml示例:

<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"> 
<gs:UserList>
<gs:User UserID="Current" CopySettingsToDefaultUserAcct="true" CopySettingsToSystemAcct="true"/></gs:UserList> 
<gs:InputPreferences> 

<!--ch-Google--><gs:InputLanguageID Action="remove" ID="0804:E0200804"/>

</gs:InputPreferences>
</gs:GlobalizationServices>

2
我想知道是否有任何命令命令可以告诉您当前在Windows7中使用哪种键盘布局?我的意思是说一个命令返回您正在使用的语言布局的字符串值-只是在查询时不更改布局。
博士学位

2

Windows 8带来了新的International PowerShell模块。不幸的是,它似乎不能被反向移植或具有任何Windows 7替代品


使用PowerShell cmdlet配置国际设置

在Windows 8中,您可以使用国际设置PowerShell cmdlet来更改正在运行的Windows安装上的语言。使用PowerShell cmdlet的好处是您可以将它们合并到脚本中,以方便Windows的部署和配置。 来源:http//technet.microsoft.com/en-us/library/hh825705.aspx

  1. 打开Windows PowerShell提示符。
  2. 通过运行以下命令导入国际设置模块:

    ipmo国际

  3. 通过运行以下命令在计算机上显示语言环境信息:

    Get-WinSystemLocale

  4. 设置所需的区域和语言的区域设置。例如,以下命令将系统区域设置设置为日语(日本):

    Set-WinSystemLocale ja-JP


1
此答案更改了区域设置。它似乎并没有影响键盘,最多代码页将有所不同。
jiggunjer '16

2
Set-WinUserLanguageList -Force 'ja-JP'将更改键盘输入语言。请注意,使用-Force只是不获取弹出对话框。Get-WinUserLanguageList将为您提供可供用户输入的语言列表。
yasouser

2

“ Windows 8带来了一个新的International PowerShell模块。不幸的是,它似乎不能被反向移植或具有任何Windows 7替代方案”

您可以尝试使用此示例(示例)。这仅启用选定的键盘布局,并清除其他键盘布局

Install-Module -name timezone -force
#Sets the systems timezone on "Western Europe Standard time" 
$langlist = New-WinUserLanguageList en-US

#Clears the other input methods from the displayed language
$langlist[0].InputMethodTips.Clear()

#Sets and adds the swiss-German keyboard
$langlist[0].InputMethodTips.add('0409:00000807')

#Sets and adds the swiss-french keyboard
$langlist[0].InputMethodTips.add('0409:0000100C')

#Apply the changes made on the system (and force to avoid the prompt  message)
Set-WinUserLanguageList $langlist -Force

1

(不是通过CMD),您将必须按以下方式进行更改。keyb.com在DOS中曾经有一个命令,但在Windows中不再存在。

资源:

Windows 7或Windows Vista

  1. 单击“开始”,在“开始搜索”框中键入intl.cpl,然后按Enter。
  2. 在键盘和语言选项卡上,单击更改键盘。单击添加。
  3. 展开所需的语言。例如,展开法语(加拿大)。
  4. 展开键盘列表,单击以选中加拿大法语复选框,然后单击确定。
  5. 在选项中,单击“查看布局”以将布局与实际键盘进行比较。
  6. 在“默认输入语言”列表中,单击“法语(加拿大)”-“加拿大法语”,然后单击“确定”两次。
  7. 在“区域和语言选项”对话框中,单击“确定”。
  8. 单击语言栏,然后单击FR法语(加拿大)。

Windows XP

  1. 单击“开始”,在“运行”框中键入intl.cpl,然后按Enter。
  2. 在语言选项卡上,单击详细信息。
  3. 在“已安装的服务”下,单击“添加”。
  4. 在“输入语言”列表中,选择所需的语言。例如,选择“法语(加拿大)”。
  5. 在“键盘布局/ IME”列表中,单击“加拿大法语”,然后单击“确定”。
  6. 在“选择启动时使用的已安装输入语言之一”列表中,单击“法语(加拿大)–加拿大法语”,然后单击“确定”。
  7. 在“区域和语言选项”对话框中,单击“确定”。
  8. 单击语言栏,然后单击法语(加拿大)。

但是您可以在Linux中使用loadkeys


干杯! +1给你!:)
studiohack

0
$psdrive = New-PSDrive -PSProvider Registry -Name HKU -Root HKEY_USERS

Set-ItemProperty -Path "HKU:\.DEFAULT\Keyboard Layout\Preload\" -Name 1 -Value 00001033

$psdrive | Remove-PSDrive

在Windows 7 PowerShell中这可以正常工作,但是您必须注销然后重新登录以启用ist,它将布局更改为英语,如果您想要另一种语言,则必须更改-Value号,您可以在此处找到它们:https:// www。 science.co.il/language/Locale-codes.php


0

有关信息:Set-WinUserLanguageList如其他答案中所建议,不仅会更改活动的键盘输入语言,还会覆盖您当前(已启用)输入语言的列表。要设置两种或多种可以切换的语言,请按照以下方式使用:

Set-WinUserLanguageList -Force en-US,sv-SE

作为列表的第一个参数给出的语言将被选择为活动语言,因此这可能是更改活动语言和可用键盘语言整体列表的有效方法。

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.