求救!搞了一整体的获取输入法候选字问题!
我的获取输入法候选字的代码,能获取到候选字字数,但为何获取到不到正确的候选文字?
#include "stdafx.h"
#include "imm.h"
#include "windows.h"
//and imm32.lib
HWND hWnd = 0;
HIMC hIMC = 0;
DWORD dwSize = 0;
LPCANDIDATELIST lpCL = NULL;
hWnd = GetForegroundWindow();
hIMC = ImmGetContext(hWnd);
if (dwSize = ImmGetCandidateList(hIMC,0x0,NULL,0))
{
lpCL = (LPCANDIDATELIST)GlobalAlloc(GPTR,dwSize);
TCHAR *pStartOfStruct = (TCHAR *)lpCL;
ImmGetCandidateList(hIMC,0x0,lpCL,dwSize);
TCHAR szString[3] = {0};
for (UINT i=0; i < lpCL->dwCount; i++)
{
MessageBoxA(hWnd,((char*)lpCL + lpCL->dwOffset[i]),"",0); //这里显示的文字不是我要的文字
}
GlobalFree((HANDLE)lpCL);
}
ImmReleaseContext(hWnd,hIMC);