c# 获取输入法结果解决思路
c# 获取输入法结果
测试结果: 输入单个汉字,结果正常,输入多个汉字,结果会出现多次重复,
例如: 输入 我 ,结果是:我
输入 我们,结果是:我们 我们
输入 中国人,结果是:中国人 中国人 中国人
不知此问题何解?
------解决方案--------------------
试试WM_IME_COMPOSITION
if (m.Msg == WM_IME_CHAR)
{
Debug.WriteLine("W:"+m.WParam.ToInt32());
StringBuilder str = new StringBuilder();
int size = ImmGetCompositionString(imeHandle, GCS_RESULTSTR, null, 0);
Debug.WriteLine("size:" + size);
size += sizeof(Char);
ImmGetCompositionString(imeHandle, GCS_RESULTSTR, str, size);
Debug.WriteLine(str.ToString().Substring(0, str.Length));
}
测试结果: 输入单个汉字,结果正常,输入多个汉字,结果会出现多次重复,
例如: 输入 我 ,结果是:我
输入 我们,结果是:我们 我们
输入 中国人,结果是:中国人 中国人 中国人
不知此问题何解?
------解决方案--------------------
试试WM_IME_COMPOSITION