1 頁 (共 1 頁)

Windows 8 下程式啟動觸發中文輸入法啟動問題

發表於 : 2015-02-26, 18:46
admin
fwh 開發程式於 Windows 8/8.1 下啟動時,會觸發中文輸入法,每次要輸入英數老是忘記又要切換一次,
找了些資料,發現 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 );
}
於主程式 bInit 內呼叫此函數:
prg code:

代碼: 選擇全部

  SetIMEMode(oWin:hWnd,.F.)
如此程式一啟動就是英數模式了!
ps.雖然都還是呼叫 IME,但是,確有效!