:( 
我以前问这个问题好半年了,都没人回答。建议看看ms的ime,imm等库的参考---我实在没精力去理会那么多的api。

解决方案 »

  1.   

    这个是我的方法,参考钱达智的输入法教程,希望有所帮助。
    //  Send String To Foreground Window
    void SendString(char * szText)
    {    
        int nTextLen = strlen(szText);
        char ch;
        for (i=0;i<nTextLen;i++)
        {
            ch = szNewText[i];
            if(IsDBCSLeadByte(ch))
            {
                i++;
                ::SendMessage(hWndEdit , WM_IME_CHAR, MAKEWORD(szNewText[i], ch), 0);
            }
            else
                ::SendMessage(hWndEdit , WM_IME_CHAR, WORD(ch), 0);
        }
    }