掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
キーを押したのと同じ結果を得るには? (ID:5422)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
私が想像したものと、やりたいことは別だとは思いますが、一応レスします。 キーを押したことにするのはkeybd_eventというAPIを使用します。 たとえば、ボタンが押されたら、 keybd_event(VK_A, 0, 0, 0); keybd_event(VK_A, 0, KEYEVENTF_KEYUP, 0); とすれば、Aを押したことになります。 ただし(ここが重要)。 「ボタンを押すと、キーを押したのと同じ結果」ということは、ボタンにフォーカスがある状態で、キーを押すことになります。 上のコードでAを押したことにすると、ボタンに対してWM_KEYDOWN, WM_KEYUP, WM_CHARが飛ぶので、ボタンで処理しなければなりません。 また、keybd_eventは、あくまでもキーのシミュレーションですから、キーを押している最中に他のウィンドウにフォーカスを当てたりすれば、キーの送信先も変わります。 もし、マウスで操作されても、決められたウィンドウにキーを送信したいのであれば、WM_KEYDOWN, WM_KEYUP, WM_CHAR, WM_SYSCOMMAND, WM_IMECHARなどの、キーに関するメッセージを自前で送らなければなりません。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.