ImmSetConversionStatus返回TRUE,但IME未切换

时间:2016-04-14 02:57:40

标签: c++ windows

我是韩国人。 我用

测试程序
{
  OnSetFocusEditCode
  {
    if(GetDlgItem(IDC_EDIT_CODE)->GetSafeHwnd() == GetFocus()->GetSafeHwnd())
    {
        HIMC himc = ImmGetContext(GetDlgItem(IDC_EDIT_NAME)->GetSafeHwnd());
        ImmSetConversionStatus(himc, IME_CMODE_HANGEUL, IME_SMODE_CONVERSATION);
        ImmReleaseContext(GetDlgItem(IDC_EDIT_NAME)->GetSafeHwnd(), himc);
    }
  }
}

当它从Desktop父级运行时完全完成。 但是我们有重启这个程序的解决方案,它命名为~~ svchost,它具有SYSTEM权限,它是一个服务程序。

所以,当我们的程序从这个服务程序启动时,ImmSetConversionStatus返回TRUE,但IME最初没有切换。 我改变了焦点(通过鼠标),并将焦点设置在第一个编辑框中(通过鼠标),它可以工作。

我在代码中编写了setfocus,但它不起作用。 请你帮我解决一下?

昨天我用谷歌搜索了半天,但我还没有找到解决办法。

0 个答案:

没有答案