none
Windows8のタッチキーボードの消し方 RRS feed

  • 質問

  • 作成しているアプリケーションは通常はウィンドウを非表示にして動作していて、COMからの入力によりウィンドウを表示します。

    その時にタッチキーボードが表示していたらそのキーボードを消したいのですが何か方法がありませんでしょうか。

    FindWindowでハンドルを取得してWM_CLOSEを送って消そうと考えていましたが、ハンドルが取得できません。

    よろしくお願いいたします。

    2013年9月26日 6:31

回答

  • 手元の8.1PreviewでSPY++使って探してみたらIPTip_Main_Windowという名前だったので、以下のコードで消せました

    HWND hwnd=::FindWindowEx(NULL,NULL,_T("IPTip_Main_Window"),NULL);
    if(hwnd)
    {
    	::SendMessage(hwnd , WM_SYSCOMMAND , SC_CLOSE , NULL);
    }


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    • 回答としてマーク bundesid 2013年9月27日 0:20
    2013年9月26日 14:13

すべての返信

  • 手元の8.1PreviewでSPY++使って探してみたらIPTip_Main_Windowという名前だったので、以下のコードで消せました

    HWND hwnd=::FindWindowEx(NULL,NULL,_T("IPTip_Main_Window"),NULL);
    if(hwnd)
    {
    	::SendMessage(hwnd , WM_SYSCOMMAND , SC_CLOSE , NULL);
    }


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    • 回答としてマーク bundesid 2013年9月27日 0:20
    2013年9月26日 14:13
  • 大変助かりました、どうもありがとうございました。

    消すことができました。

    2013年9月27日 0:38