如何开发输入法程序 请提供一些思路和方法有vc源码的请给一份[email protected] 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 普通都是这样做的,将自己的程序attach到活动进程,然后激活自己的窗体,进行输入法的选择,最后用wm_ime_key发送文本到文本框 输入法程序(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;} www.easthot.net主页左中:vc输入法源码下载。 http://www.freewebs.com/3jj/ http://expert.csdn.net/Expert/topic/1553/1553271.xml?temp=.331463 DDK中有个区位码输入法源码看一看。也可用输入法生成器,做这样只需要将注意力集中到编码方式中就行了。如果要加入自己的特色,实现优秀的输入法,需采用IME/IMM机制。 求助:ADO方式访问空数据表应当如何处理 怎么读(X,Y)的数 对HTTP抓包分析熟悉的朋友进来 vc++如何获得excel文件的sheet名称和数量 MFC控件CTreeCtrl如何实现动态添加Item项 怎么用程序实现防止系统进入休眠或待机状态? 如何更改ACTIVEX控件工程的输出文件名? 判斷文件是否存在 出现以下问题怎么样解决? 我想买vc++的书 有了解输入法编程的相关知识的没 新手提问:关于显示图片的问题
导出下列函数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;
}
vc输入法源码下载。
http://expert.csdn.net/Expert/topic/1553/1553271.xml?temp=.331463