2009-05-04 2 views
1

WinXP에서 설치된 IME간에 전환하는 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; 

}

다음 코드와 같이이 마지막으로 프로그래밍 방식으로 얻을 수있는