掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
他のアプリケーションに移った(キーボード)フォーカスを戻すには? (ID:108779)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
satoru-iさん、コメントをありがとうございます。 早速AppActivateをタイマーから呼び出してみたのですが・・・。 確かに、対象とするフォームはアクティブになっている ようなのですが(タイトルバーの色で判断) キーボードのキーを押しても、KeyDownのイベントは 発生しないようです。 Shiftキーを押しながら起動したアプリケーションの (メインの)フォームではキーボードのフォーカスが 別に行ってしまうのでしょうか? 不思議なのですが、VB.NET2003の開発環境から Shiftキー+開始ボタンで開始した場合は所望の動きをします。 再度補足になるのですが、表示されたフォーム(上のピクチャボックス) 上をクリックすると、キーボードのイベントはフォーム上で発生する ようになります。そこで、API32のSendMessageを使って、 Dim wHnd As Int32 Const WM_LBUTTONDOWN = &H201 'マウスのボタンを押す Const WM_LBUTTONUP = &H202 'マウスのボタンを離す wHnd = Me.PictureBox.Handle.ToInt32 ’マウスのクリックを擬似的に再現 Call SendMessage(wHnd, WM_LBUTTONDOWN, 0, 0) Call SendMessage(wHnd, WM_LBUTTONUP, 0, 0) も行ってみたのですが、これも効果ありませんでした。 重ねてコメントをお願いいたします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.