C++ 是否有WinXP/WinXP嵌入式API来更改语言环境(特别是IME)?
我正在寻找WinXP上的API在已安装的IME之间切换 该场景是,能够插入langauge键盘(比如西班牙语)并通过单击UI按钮(比如名为西班牙语的按钮)更改IME e、 插入一个西班牙语键盘,点击名为西班牙语的UI按钮。这将在内部将IME更改为西班牙语,而西班牙语已经安装C++ 是否有WinXP/WinXP嵌入式API来更改语言环境(特别是IME)?,c++,winapi,visual-c++,C++,Winapi,Visual C++,我正在寻找WinXP上的API在已安装的IME之间切换 该场景是,能够插入langauge键盘(比如西班牙语)并通过单击UI按钮(比如名为西班牙语的按钮)更改IME e、 插入一个西班牙语键盘,点击名为西班牙语的UI按钮。这将在内部将IME更改为西班牙语,而西班牙语已经安装 谢谢我正在尝试更改区域设置/IME(属于该区域设置)。 我发现有一个名为“SystemParametersInfo”的api,它允许我们在系统级进行设置。在我的例子中,我必须进入控制面板>区域设置>,然后在“语言”选项卡下的
谢谢我正在尝试更改区域设置/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;
}我试图更改区域设置/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;
}