ソフトウェア開発

Q12
アプリケーションから「キーボード」や「手書き入力」などのSIP(Soft Input Panel)のモードを変更することはできますか?
A12
API関数であるSipSetCurrentIM関数を使用することで可能です。
SipSetCurrentIM関数を使用してモードを変更する場合には、次のようにCLSIDを定義してください。
// ひらがなカタカナ
#define IM_CLSID_HIRA "{1D07E4B2-DFAC-11d1-A2E5-0000F8757270}"
// 手書き入力
#define IM_CLSID_INK2 "{0CBEA010-F68E-11D1-8C63-0060977B4593}"
//キーボード
#define IM_CLSID_KEYBORD "{42429667-AE04-11D0-A4F8-00AA00A749B9}"

例)モードをひらがな/カタカナに設定する場合
#include

TCHAR tcClsid[256];
HRESULT hResult;
CLSID clsidIM;
BOOL bResult;

//IM(InputMethod)のCLSIDの文字列をtcClsidにセット
wcscpy( tcClsid, _T(IM_CLSID_HIRA));
//IMの文字列からCLSIDを取得
hResult = CLSIDFromString(tcClsid,&clsidIM);
// ここでIMを設定
bResult = SipSetCurrentIM(&clsidIM);

アンケートへのご協力をお願いします。

送信