如何开发输入法程序
如何开发输入法程序
楼主mickwang(*pMick)2002-10-22 12:09:48 在 VC/MFC / 硬件/系统 提问 请提供一些思路和方法
有vc源码的请给一份
tcmick@163.com
问题点数:0、回复次数:12Top
1 楼xuefl66(xuefl66)回复于 2002-10-22 12:41:08 得分 0
see
see
!!!!!!Top
2 楼del_c_sharp(武林中传说的摩托牛拉)回复于 2002-10-22 17:12:43 得分 0
普通都是这样做的,将自己的程序attach到活动进程,然后激活自己的窗体,进行输入法的选择,最后用wm_ime_key发送文本到文本框Top
3 楼uaiia(老菜鸟)回复于 2002-10-22 22:18:27 得分 0
输入法程序(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 SoundClose
BOOL 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;
}
Top
4 楼jackyzhou(哥老会)回复于 2002-10-23 19:27:01 得分 0
admire
Top
5 楼iicup(双杯献酒)回复于 2002-10-23 19:30:29 得分 0
GZTop
6 楼zhenxizhou(东门行)回复于 2003-04-05 10:47:51 得分 0
www.easthot.net主页左中:
vc输入法源码下载。Top
7 楼3jaja(缘来如此)回复于 2003-04-06 09:32:04 得分 0
http://www.freewebs.com/3jj/
http://expert.csdn.net/Expert/topic/1553/1553271.xml?temp=.331463
Top
8 楼afc(afc)回复于 2003-04-06 09:48:11 得分 0
微软的DDK中有源代码Top
9 楼cjw1881(快乐楼主)回复于 2003-04-06 11:20:50 得分 0
GZTop
10 楼yyan(清茶)回复于 2003-04-06 11:31:12 得分 0
gzTop
11 楼tigerfox(风之力:=Doing.浪淘沙)回复于 2003-04-06 11:36:33 得分 0
DDK中有个区位码输入法源码
看一看。
也可用输入法生成器,做这样只需要将注意力集中到编码方式中就行了。
如果要加入自己的特色,实现优秀的输入法,需采用IME/IMM机制。Top
12 楼nonocast(如果没有如果)回复于 2003-04-07 07:14:12 得分 0
我发给你
不过你要记得给分哦Top
-
相关文章
2秒记住本站域名
玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn
