NullKeyboardは何もしないSIPということで、OperaがいくらSIPを開こうとしても安心という事ですね。
これにLPChgExecとChangeSIP等を組み合わせれば解決とのアドバイスを頂いたのですが、せっかくなので簡単にSIPを指定できるようなツールを作ってみようと思いました。
SIPの選択自体は「Windows Mobileプログラミング徹底理解」のサンプルそのままで割と簡単にできたのですが、いざSIPを切り替えようとするとSIPが変な場所に描画されるという問題が発生しました。
どうも画面が切り替わったときに前のSIPの領域を覚えているような気もするのですが、原因は不明のままです。
単純に画面の向きに応じてSipSetCurrentIM()でSIPを切り替えているだけなのですが、何か見落としがあるのでしょうね。
static VOID ChgSip() { DWORD dwData = 0L; if (SUCCEEDED(RegistryGetDWORD(SN_DISPLAYROTATION_ROOT, SN_DISPLAYROTATION_PATH, SN_DISPLAYROTATION_VALUE, &dwData))) { if (0L == dwData) { SipSetCurrentIM(&g_clsidPortrait); } else { SipSetCurrentIM(&g_clsidLandscape); } //SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, (WPARAM)SPI_SETSIPINFO, NULL); } }しかも、その後いろいろ調べていると 実はPQzIIにもSIPの切り替え機能があった事が発覚。 しかもこちらは問題なく動作します。
それなら「PQzIIでいいじゃん」とも思うのですが、スッキリしないのでもう少し調べてみようと思います。
0 件のコメント:
コメントを投稿