- 締切済み
VB5で他のアプリケーションへのキー送信
アクティブなウインドウへのキー送信は出来るのですが、アクティブでないウインドウへの送信が出来ません。 ウインドウがアクティブ・アクティブを問わずに目的のアプリケーションにAPIのkeybd_eventで送信する場合はどうすればいいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- hidetansan
- ベストアンサー率0% (0/0)
回答No.2
keybd_eventでは非アクテイブのウィンドウにキー送信を送ることはできないと思われます。 こちらの環境はVB6ですがEnumWindowsで取得したウィンドウハンドルにPostMessageでキーストロークを送ってます。
- StarLibra
- ベストアンサー率54% (6/11)
回答No.1
keybd_eventの引数にウィンドウハンドル等がないことから考えると、keybd_eventは「アクティブなウィンドウにキーストロークを送信する」仕様であると考えられます。 1.現在アクティブになっているウィンドウを非アクティブにし、対象アプリケーションのウィンドウをアクティブにする 2.アクティブウィンドウにキーストロークを送信する 3.非アクティブになっていたウィンドウを再びアクティブにする という処理を行ってはならない(必ず非アクティブの状態でキーを送信する必要がある)ということでしょうか?
補足
そうです。特定のアプリケーションのウインドウが非アクティブ時でもキー送信がしたいわけです。