网上的资料解释:
     ImmGenerateMessage的作用将消息发送到IME,IME再决定是自己处理还是继续发给应用程序。
     但是我想知道更具体的内容,IME如何决定?是通过ImeProcessKey函数决定,还是有别的什么处理逻辑?
     决定以后,它又如何将消息发送给IME或者输入法的宿主程序?
     希望有明白的大哥指点一下!

解决方案 »

  1.   

        另外一个问题,一般输入法都有个待选窗口,当用户使用鼠标在待选窗口中点击某个字或者词组的时候,输入法是怎么把用户点击的这个字或者单词送到文本框中的?
         不会还是ImeToAsciiEx函数吧?
      

  2.   

    微软有开源的 IME 的 C 代码,自己找找,下载一个看看啊
      

  3.   

        是VS安装后,带的samples里面的么?那是一个IME感知程序,并不是IME输入法
      

  4.   

    我上传到 csdn 上了,你试一试吧http://download.csdn.net/source/3139524
      

  5.   

        OK,已经搞定,看一份1万来行的代码真累。
         不过还算有所收获,ImmGenerateMessage需要在UI线程上调用,貌似工作线程上调用时不起作用。