キーボードのボタンを使用してボリューム コントロールを増減できるプログラムを作成しています。指定したボタンで音量を増減するコードを作成しましたが、別のプログラムでアクティブになっているときに、キーボードのボタンを押しても音量が増減しません。別のフォームがアクティブ化されていても、フォームを常に選択したままにするコードが必要になりました。 Me.Topmost = true を使用してみましたが、そのコードでフォームが選択されていないため、機能しませんでした。ヒントを探すのに何時間も費やしましたが、役に立ちませんでしたが、誰かがこれを行う方法を知っている必要があるので、助けていただければ幸いです。- Visual Basic 2012 を使用しています
質問する
228 次
2 に答える
1
必要なのは、キーボード インターセプトです。 http://blogs.msdn.com/b/toub/archive/2006/05/03/589423.aspxに動作サンプルがあります。
于 2013-10-20T21:17:02.310 に答える
1
あなたが実際に欲しいのは「グローバルキーボードフック」だと思います。以下のリンクからいくつかのコードを追加する必要がありますが、それを使用するのは簡単です...
フックを作成するには:
Private WithEvents kbHook As New KeyboardHook
次に、各イベントを処理できます。
Private Sub kbHook_KeyDown(ByVal Key As System.Windows.Forms.Keys) Handles kbHook.KeyDown
Debug.WriteLine(Key.ToString)
End Sub
Private Sub kbHook_KeyUp(ByVal Key As System.Windows.Forms.Keys) Handles kbHook.KeyUp
Debug.WriteLine(Key)
End Sub
ここから盗まれました: バックグラウンドでキーボードをリッスンし、オンデマンドでキーストロークを起動する方法は?
于 2013-10-20T21:17:03.153 に答える