我正在寻找WinXP上的API,以在安装的IME之间切换。

该方案是为了能够插入语言键盘(例如西类牙语)并通过单击UI按钮(例如名为西类牙语的按钮)来更改IME。

例如我插入西类牙语键盘,然后单击名为Spanish的UI按钮。这应该在内部将IME更改为已经安装的西类牙语

谢谢

最佳答案

我试图更改语言环境/ 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;

}

关于c++ - 是否有WinXP/WinXP Embedded API可以更改区域设置(特别是IME)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/819483/

10-10 03:46