如题,这个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,请各位高手给以指点。
谢谢!