C++ 判断 Windows 输入法是否失效
在 Windows 系统中,可以使用以下代码来判断当前输入法是否失效:
#include <Windows.h>
bool isInputMethodEnabled()
{
DWORD dwConversion, dwSentence;
bool bRet = false;
if (ImmGetOpenStatus(NULL))
{
if (ImmGetConversionStatus(NULL, &dwConversion, &dwSentence))
{
if ((dwConversion == IME_CMODE_ALPHANUMERIC) || (dwConversion == IME_CMODE_NATIVE))
{
bRet = true;
}
}
}
return bRet;
}
该函数调用了 Windows API 函数 ImmGetOpenStatus() 和 ImmGetConversionStatus() 来获取当前输入法状态。如果输入法处于打开状态且当前输入模式为字母数字或本地模式,则返回 true,否则返回 false。
原文地址: https://www.cveoy.top/t/topic/o0fD 著作权归作者所有。请勿转载和采集!