请提供一些思路和方法
有vc源码的请给一份
[email protected]

解决方案 »

  1.   

    普通都是这样做的,将自己的程序attach到活动进程,然后激活自己的窗体,进行输入法的选择,最后用wm_ime_key发送文本到文本框
      

  2.   

    输入法程序(IME)其实就是一种动态链接库(DLL),在动态链接库中
    导出下列函数BOOL WINAPI ImeInquire(LPIMEINFO lpIMEInfo,LPTSTR lpszUIClass,LPCTSTR lpszOption)
    {
    ......
    return TRUE;
    }
    BOOL WINAPI ImeConfigure(HKL hKL,HWND hWnd, DWORD dwMode, LPVOID lpData)
    {
    ........
    return TRUE;
    }
    DWORD WINAPI ImeConversionList(HIMC hIMC,LPCTSTR lpSource,LPCANDIDATELIST lpCandList,DWORD dwBufLen,UINT uFlag)
    {
        return 0;
    }
    BOOL WINAPI ImeDestroy(UINT uForce)
    {
    return TRUE;
    }
    LRESULT WINAPI ImeEscape(HIMC hIMC,UINT uSubFunc,LPVOID lpData)
    {
    ........
    return TRUE;
    }
    BOOL WINAPI ImeProcessKey(HIMC hIMC,UINT vKey,LPARAM lKeyData,CONST LPBYTE lpbKeyState)
    {
    ...........
    return TRUE;
    }//bool PmIn PmOut PmStart PmClose SoundIn SoundOut SoundStart SoundCloseBOOL WINAPI ImeSelect(HIMC hIMC, BOOL fSelect)
    {
    ...........
    return TRUE;
    }
    BOOL WINAPI ImeSetActiveContext(HIMC hIMC,BOOL fFlag)
    {
    .............
    return TRUE;
    }UINT WINAPI ImeToAsciiEx (UINT uVKey,UINT uScanCode,CONST LPBYTE lpbKeyState,LPDWORD lpdwTransKey,UINT fuState,HIMC hIMC)
    {
    .............
    return r;
    }
    BOOL WINAPI NotifyIME(HIMC hIMC,DWORD dwAction,DWORD dwIndex,DWORD dwValue)
    {   
    ...................
        return TRUE;
    }
    BOOL WINAPI ImeRegisterWord(LPCTSTR lpRead, DWORD dw, LPCTSTR lpStr)
    {
        return TRUE;

    BOOL WINAPI ImeUnregisterWord(LPCTSTR lpRead, DWORD dw, LPCTSTR lpStr)
    {
        return TRUE;
    }
    UINT WINAPI ImeGetRegisterWordStyle(UINT nItem, LPSTYLEBUF lp)
    {
    return 0;
    }
    UINT WINAPI ImeEnumRegisterWord(REGISTERWORDENUMPROC lpfn, LPCTSTR lpRead, DWORD dw, LPCTSTR lpStr, LPVOID lpData)
    {
    return 0;
    }
    BOOL WINAPI ImeSetCompositionString(HIMC hIMC, DWORD dwIndex, LPCVOID lpComp, DWORD dwComp, LPCVOID lpRead, DWORD dwRead)
    {
        return FALSE;
    }
     
    LRESULT WINAPI UIWndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
    {
    ....................
        return 0;
    }
      

  3.   

    www.easthot.net主页左中:
    vc输入法源码下载。
      

  4.   

    http://www.freewebs.com/3jj/  
    http://expert.csdn.net/Expert/topic/1553/1553271.xml?temp=.331463
      

  5.   

    DDK中有个区位码输入法源码看一看。也可用输入法生成器,做这样只需要将注意力集中到编码方式中就行了。如果要加入自己的特色,实现优秀的输入法,需采用IME/IMM机制。