作者pleaselouis (LOUISN)
看板GameDesign
标题[请益] 关於输入法的 字根 抓取
时间Thu Dec 11 12:37:29 2008
大家好 我想请问关於输入法的 字根 抓取
目前我的进度如下:
DWORD dwSize;
WCHAR g_szREADINGStr[512];
memset(g_szREADINGStr,0,sizeof(g_szREADINGStr));
HKL hKL = GetKeyboardLayout( 0 );
if(ImmIsIME(hKL))
{
HIMC hIMC = ImmGetContext( hge->System_GetState(HGE_HWND) );
dwSize = ImmGetCompositionString( hIMC,GCS_COMPREADSTR ,
(void*)g_szREADINGStr, sizeof( g_szREADINGStr ));
ImmReleaseContext( hge->System_GetState(HGE_HWND), hIMC );
}
这样子便可以抓取字根 也就是在使用新注音时 看到USER打 ㄅ ㄆ ㄇ ㄈ 那类
但是这样做的缺点是 必须要将字完全打完 才会将字根存入阵列
但是我是希望在文字还未打完时 就可以得到目前已经输入的注音符号
也就是即时取得 Reading Window 的资讯 关於 Reading Window 的定义请看下列网址 :
http://msdn.microsoft.com/en-us/library/bb206300.aspx#IME_GetReadingString
这样才能让 USER 知道目前已经输入哪些注音符号 以免打错了还不知道
小弟我有是真的查了很久 目前还是一头雾水 所以又来发问 请知道的人解惑 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 211.76.190.21
※ 编辑: pleaselouis 来自: 211.76.190.21 (12/11 12:38)
1F:→ NDark:如果不能显示原本IME的视窗.最终只能侦测按键自己写? 12/11 16:18
2F:→ pleaselouis:我有试过这个想法 但是进入选字视窗後 键盘控制权被 12/11 16:40
3F:→ pleaselouis:抓走了 程式内的按键按下 无法反应啊 囧rz ... 12/11 16:41
4F:推 NDark:不是很确定你的问题是HGE的问题还是专案的问题. 12/11 16:56
5F:→ pleaselouis:输入法的程式 都是最单纯的WinAPI 应该不是HGE的问题 12/11 20:43