找了些資料,發現 Win7 之後的輸入法已經不太一樣,不是先前的 IME 而是 TSF,
一些常用來呼叫的 IME 有些水土不服沒有效用了!!
後來找到一組程式碼翻譯後測試可以正常切回英數模式了!
c code:
代碼: 選擇全部
#include <imm.h>
HB_FUNC( SETIMEMODE)
{
HWND hWnd = (HWND) hb_parnl( 1 );
BOOL bHan = hb_parl(2);
HIMC hImc;
hImc = ImmGetContext(hWnd);
ImmSetOpenStatus(hImc,bHan);
ImmReleaseContext(hWnd,hImc );
}
prg code:
代碼: 選擇全部
SetIMEMode(oWin:hWnd,.F.)
ps.雖然都還是呼叫 IME,但是,確有效!