プロが教えるわが家の防犯対策術!

アクティブなウインドウへのキー送信は出来るのですが、アクティブでないウインドウへの送信が出来ません。

ウインドウがアクティブ・アクティブを問わずに目的のアプリケーションにAPIのkeybd_eventで送信する場合はどうすればいいのでしょうか?

A 回答 (2件)

keybd_eventでは非アクテイブのウィンドウにキー送信を送ることはできないと思われます。


こちらの環境はVB6ですがEnumWindowsで取得したウィンドウハンドルにPostMessageでキーストロークを送ってます。
    • good
    • 0

keybd_eventの引数にウィンドウハンドル等がないことから考えると、keybd_eventは「アクティブなウィンドウにキーストロークを送信する」仕様であると考えられます。



1.現在アクティブになっているウィンドウを非アクティブにし、対象アプリケーションのウィンドウをアクティブにする
2.アクティブウィンドウにキーストロークを送信する
3.非アクティブになっていたウィンドウを再びアクティブにする

という処理を行ってはならない(必ず非アクティブの状態でキーを送信する必要がある)ということでしょうか?

参考URL:http://www.bcap.co.jp/hanafusa/VBHLP/keybdeve.htm

この回答への補足

そうです。特定のアプリケーションのウインドウが非アクティブ時でもキー送信がしたいわけです。

補足日時:2006/09/08 02:52
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!