seclan のほえほえルーム

| |

・IME をキル! (1999/04/17 [])
 Windows でプログラムを作成していると、ある種のウィンドウでは IME を On にできなくしたくなります。例えば、WS_EX_TOPMOST のようなスタイルを持つウィンドウや、全画面を占有してしまうようなアプリケーションです。これらの多くは IME をほとんど必要とせず、むしろ偶然か何かで On になっても、ただ不愉快になるだけです。そこでそれらの Window では何とか IME を On にできなくしたくなるわけです。というわけで、そのようなときには次のコードが役に立つでしょう。

IME 有効化/無効化関数
//IME 有効化/無効化関数
//BOOL WINAPI ImeEnable(HWND hwnd, BOOL fEnable)
//引数: hwnd: 対象となるウィンドウ
//      fEnable: TRUE:IME を有効にする FALSE:無効にする
//戻値: 以前の状態。TRUE:IME は有効だった FALSE:IME は無効だった
//注意: このコード断片は自由に使ってよいです
BOOL WINAPI ImeEnable(HWND hwnd, BOOL fEnable)
{
    static HMODULE hwinnls;
    static BOOL (WINAPI *WINNLSEnableIME)(HWND,BOOL);
    if(hwinnls == NULL){
        hwinnls = (HMODULE)LoadLibrary("WINNLS32.DLL");
        WINNLSEnableIME = GetProcAddress(hwinnls, "WINNLS32EnableIME");
    }
    return WINNLSEnableIME ? WINNLSEnableIME(hwnd, fEnable): TRUE;
}



by seclan

関連


| |

 

配信

4.94 msec