web-dev-qa-db-ja.com

Windows XP / 7でコマンドラインcmd.exeを使用してキーボードレイアウトを変更する方法

Windows XP/7のコマンドラインからキーボードレイアウトを変更することはできますか?

11
JohnnyFromBF

はい。

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>
11
Rabbit

"Windows 8は新しい国際的な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
2
user709166

Windows 8には、新しいInternationalPowerShellモジュールが導入されています。残念ながら、これはバックポートできたり、Windows 7に代わるものがないようです。


PowerShellコマンドレットを使用して地域と言語の設定を構成する

Windows 8では、インターナショナル設定PowerShellコマンドレットを使用して、実行中のWindowsインストールの言語を変更できます。 PowerShellコマンドレットを使用する利点は、それらをスクリプトに組み込んで、Windowsの展開と構成を容易にすることができることです。 ソース: http://technet.Microsoft.com/en-us/library/hh825705.aspx

  1. Windows PowerShellプロンプトを開きます。
  2. 次のコマンドを実行して、インターナショナル設定モジュールをインポートします。

    ipmo international

  3. 次のコマンドを実行して、コンピューターのロケール情報を表示します。

    Get-WinSystemLocale

  4. 必要な地域と言語のロケールを設定します。たとえば、次のコマンドはシステムロケールを日本語(日本)に設定します。

    Set-WinSystemLocale ja-JP

2
thommck

いいえ (CMDを介さない)、次のように変更する必要があります。以前はkeyb.com DOSのコマンドですが、Windowsにはありません。

出典:

Windows 7またはWindows Vista

  1. [スタート]ボタンをクリックし、[検索の開始]ボックスにintl.cplと入力して、Enterキーを押します。
  2. [キーボードと言語]タブで、[キーボードの変更]をクリックします。追加をクリックします。
  3. 必要な言語を展開します。たとえば、フランス語(カナダ)を展開します。
  4. [キーボードリスト]を展開し、[カナダフランス語]チェックボックスをオンにして、[OK]をクリックします。
  5. オプションで、[レイアウトの表示]をクリックして、レイアウトを実際のキーボードと比較します。
  6. [既定の入力言語]ボックスの一覧で、[フランス語(カナダ)-カナダフランス語]をクリックし、[OK]を2回クリックします。
  7. [地域と言語のオプション]ダイアログボックスで、[OK]をクリックします。
  8. 言語バーをクリックし、FRフランス語(カナダ)をクリックします。

Windows XP

  1. [スタート]ボタンをクリックし、[ファイル名を指定して実行]ボックスにintl.cplと入力して、Enterキーを押します。
  2. [言語]タブで、[詳細]をクリックします。
  3. [インストールされているサービス]で、[追加]をクリックします。
  4. [入力言語]リストで、使用する言語を選択します。たとえば、[フランス語(カナダ)]を選択します。
  5. [キーボードレイアウト/ IME]リストで、[カナダフランス語]をクリックし、[OK]をクリックします。
  6. [コンピューターの起動時に使用するインストール済み入力言語の1つを選択してください]リストで、[フランス語(カナダ)-カナダフランス語]をクリックし、[OK]をクリックします。
  7. [地域と言語のオプション]ダイアログボックスで、[OK]をクリックします。
  8. 言語バーをクリックし、[フランス語(カナダ)]をクリックします。

ただし、loadkeysを使用して Linux で実行できます。

1
sealz

詳細については: Set-WinUserLanguageList他の回答で提案されているように、アクティブキーボード入力言語を変更するだけでなく、(有効な)入力言語の現在のリストを上書きします。切り替えることができる2つ以上の言語を設定するには、次のように使用します。

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

リストの最初の引数として指定された言語がアクティブ言語として選択されるため、これはアクティブ言語と使用可能なキーボード言語のリスト全体の両方を変更する効率的な方法です。

0
Per Lundberg
$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で正常に機能しますが、別の言語が必要な場合はレイアウトを英語に変更するには、ログアウトして再度ログインする必要があります。-Value番号を変更する必要があります https: //www.science.co.il/language/Locale-codes.php

0
Jana-Panda