Windows 8 下程式啟動觸發中文輸入法啟動問題
發表於 : 2015-02-26, 18:46
fwh 開發程式於 Windows 8/8.1 下啟動時,會觸發中文輸入法,每次要輸入英數老是忘記又要切換一次,
找了些資料,發現 Win7 之後的輸入法已經不太一樣,不是先前的 IME 而是 TSF,
一些常用來呼叫的 IME 有些水土不服沒有效用了!!
後來找到一組程式碼翻譯後測試可以正常切回英數模式了!
c code:
於主程式 bInit 內呼叫此函數:
prg code:
如此程式一啟動就是英數模式了!
ps.雖然都還是呼叫 IME,但是,確有效!
找了些資料,發現 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,但是,確有效!