高分寻sdk高手,讨论一个WINAPI的实现机理:ImmGetCandidateList

ManFred2ManFred 2006-11-21 04:37:16
如题,这个API是获取一个CANDIDATELIST结构的指针,其中存储了被IME转换过的备选字符列表。但他获取的仅仅是一个原始CANDIDATELIST的copy。同时我还可以通过另一种途径获取原始的CANDIDATELIST那就是:
hIMC = ImmGetContext(hWnd); //hWnd是拥有这个输入上下文的窗口
lpIMC = ImmLockIMC(hIMC);
lpCandInfo = (LPCANDIDATEINFO)ImmLockIMCC(lpIMC->hCandInfo);
lpCandList = (LPCANDIDATELIST)((LPSTR)lpCandInfo+lpCandInfo->dwOffset[0]);
这时候问题就出现了,对于“智能ABC”输入法,我用两种途径所获得的CANDIDATELIST内容是相同的,但是对于其他大多数输入法如:微软拼音,我用地二种方法所得到的CANDIDATELIST其内容却与第一种方法不同,我在这个CANDIDATELIST种根本找不到备选的那些汉字。如果说微软拼音应用了与默认结构不同的CANDIDATELIST(就像freepy中的MYCAN一样),那么ImmGetCandidateList又是怎么实现的呢?
我的最终目的是希望获取内存中真正的CANDIDATELIST,请各位高手给以指点。
谢谢!
...全文
328 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
shawnwan 2006-11-28
  • 打赏
  • 举报
回复
讨论下下

呀牛
LiChenYue 2006-11-27
  • 打赏
  • 举报
回复
顶,并蹭点分!
Eddie005 2006-11-22
  • 打赏
  • 举报
回复
顶顶
BOYGUARD110 2006-11-21
  • 打赏
  • 举报
回复
up
thinkSJ 2006-11-21
  • 打赏
  • 举报
回复
帮你顶了,

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧