-1

キーボードのボタンを使用してボリューム コントロールを増減できるプログラムを作成しています。指定したボタンで音量を増減するコードを作成しましたが、別のプログラムでアクティブになっているときに、キーボードのボタンを押しても音量が増減しません。別のフォームがアクティブ化されていても、フォームを常に選択したままにするコードが必要になりました。 Me.Topmost = true を使用してみましたが、そのコードでフォームが選択されていないため、機能しませんでした。ヒントを探すのに何時間も費やしましたが、役に立ちませんでしたが、誰かがこれを行う方法を知っている必要があるので、助けていただければ幸いです。- Visual Basic 2012 を使用しています

4

2 に答える 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 に答える