绝
绝对新手
Unregistered / Unconfirmed
GUEST, unregistred user!
用ImmGetCompositionString我拦截到的全是乱码
请教各位大侠有没有研究过这个问题的给我指明一下错误
WM_IME_COMPOSITION: begin
HIMC := ImmGetContext(PMsg(lParam)^.hwnd);
if HIMC = 0 then Exit;
dwBufLen := ImmGetCompositionString(HIMC,GCS_RESULTSTR,nil,0);
if dwBufLen > 0 then
begin
GetMem(pBuf, dwBufLen + 1);
ImmGetCompositionString(HIMC, GCS_RESULTSTR, pBuf, dwBufLen);
saveinfo(pBuf^); //存储拦截到的字符 但是存储下来的都是乱码 其中包含要拦截的字符 但是有很多乱七八糟的字符插在中间
FreeMem(pBuf, dwBufLen + 1);
end;
ImmReleaseContext(PMsg(lParam)^.hwnd, HIMC);
end;
请教各位大侠有没有研究过这个问题的给我指明一下错误
WM_IME_COMPOSITION: begin
HIMC := ImmGetContext(PMsg(lParam)^.hwnd);
if HIMC = 0 then Exit;
dwBufLen := ImmGetCompositionString(HIMC,GCS_RESULTSTR,nil,0);
if dwBufLen > 0 then
begin
GetMem(pBuf, dwBufLen + 1);
ImmGetCompositionString(HIMC, GCS_RESULTSTR, pBuf, dwBufLen);
saveinfo(pBuf^); //存储拦截到的字符 但是存储下来的都是乱码 其中包含要拦截的字符 但是有很多乱七八糟的字符插在中间
FreeMem(pBuf, dwBufLen + 1);
end;
ImmReleaseContext(PMsg(lParam)^.hwnd, HIMC);
end;