• 締切済み

VB5で他のアプリケーションへのキー送信

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

みんなの回答

回答No.2

keybd_eventでは非アクテイブのウィンドウにキー送信を送ることはできないと思われます。 こちらの環境はVB6ですがEnumWindowsで取得したウィンドウハンドルにPostMessageでキーストロークを送ってます。

  • StarLibra
  • ベストアンサー率54% (6/11)
回答No.1

keybd_eventの引数にウィンドウハンドル等がないことから考えると、keybd_eventは「アクティブなウィンドウにキーストロークを送信する」仕様であると考えられます。 1.現在アクティブになっているウィンドウを非アクティブにし、対象アプリケーションのウィンドウをアクティブにする 2.アクティブウィンドウにキーストロークを送信する 3.非アクティブになっていたウィンドウを再びアクティブにする という処理を行ってはならない(必ず非アクティブの状態でキーを送信する必要がある)ということでしょうか?

参考URL:
http://www.bcap.co.jp/hanafusa/VBHLP/keybdeve.htm
Lagu003
質問者

補足

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

関連するQ&A