作者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)
→ NDark:如果不能顯示原本IME的視窗.最終只能偵測按鍵自己寫? 12/11 16:18
→ pleaselouis:我有試過這個想法 但是進入選字視窗後 鍵盤控制權被 12/11 16:40
→ pleaselouis:抓走了 程式內的按鍵按下 無法反應啊 囧rz ... 12/11 16:41
推 NDark:不是很確定你的問題是HGE的問題還是專案的問題. 12/11 16:56
→ pleaselouis:輸入法的程式 都是最單純的WinAPI 應該不是HGE的問題 12/11 20:43