2009-05-04 15 views
1

私はインストールされているIMEを切り替えるためにWinXP上のAPIを探しています。ロケール(特にIME)を変更するためのWinXP/WinXP Embedded APIはありますか?

シナリオは、UIのボタンをクリックしてIMEを(スペイン語を言う)のlangaugeキーボードをプラグインし、変更することができるようにされている

例えば(スペイン語と命名ボタン言います)私はスペイン語のキーボードを接続し、スペイン語というUIボタンをクリックします。これは、内部ですでに私が(ロケールに該当)ロケール/ IMEを変更しようとしていた

おかげ

答えて

1

をインストールされているスペイン語にIMEを変更する必要があります。 システムレベルの設定を可能にする 'SystemParametersInfo'という名前のAPIがあることがわかりました。私の場合は、コントロールパネル>地域の設定>に行き、言語タブのインストールされているロケールを切り替えなければなりませんでした。

#include "stdafx.h" 
#include "windows.h" 

int _tmain(int argc, _TCHAR* argv[]) 
{ 

HKL hLangId = 0; 
bool isFine; 
DWORD errorCode; 

errorCode = GetLastError(); 

isFine = SystemParametersInfo(SPI_GETDEFAULTINPUTLANG, 0, &hLangId, 0); 

errorCode = GetLastError(); 

HKL spanishLanguage = (HKL) (0x040a0c0a); 

isFine = SystemParametersInfo(SPI_SETDEFAULTINPUTLANG, 0, &spanishLanguage, 0); 

errorCode = GetLastError(); 

return 0; 

}

:コードに示すように、これは、最終的にプログラム的に達成することができます
関連する問題