是否有用于更改区域设置(特别是 IME)的 WinXP/WinXP 嵌入式 API?

Posted

技术标签:

【中文标题】是否有用于更改区域设置(特别是 IME)的 WinXP/WinXP 嵌入式 API?【英文标题】:Is there a WinXP/WinXP Embedded API to change Locale (specifically, IME)? 【发布时间】:2009-05-04 09:42:43 【问题描述】:

我正在寻找一个在 WinXP 上用于在已安装的 IME 之间切换的 API。

场景是,能够插入语言键盘(比如西班牙语)并通过单击 UI 按钮(比如名为西班牙语的按钮)来更改 IME

例如我插入一个西班牙语键盘,然后单击名为西班牙语的 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;

【讨论】:

以上是关于是否有用于更改区域设置(特别是 IME)的 WinXP/WinXP 嵌入式 API?的主要内容,如果未能解决你的问题,请参考以下文章

Win7系统怎么更改日期,时间和数字格式

ime禁用 win10怎么解决

电脑出现乱码字体怎么解决

更改设备的语言设置(区域设置)

Windows的目录结构采用的是

Windows的目录结构采用的是