我正在创建一个程序,我可以使用键盘上的按钮增加/减少音量控制。我已经使用指定的按钮创建了增加/减少音量的代码,但是当我在另一个程序上激活时,如果我按下键盘上的按钮,它们不会增加或减少音量。现在我需要一个代码来保持我的表单始终被选中,即使另一个表单已被激活,我尝试使用Me.Topmost = true然而它不起作用,因为表单没有用该代码选择。我花了几个小时试图搜索任何提示但无济于事,但是有人必须知道如何做到这一点,所以任何帮助都表示赞赏。 - 我使用的是Visual Basic 2012
答案 0 :(得分:1)
你需要的是键盘拦截。 http://blogs.msdn.com/b/toub/archive/2006/05/03/589423.aspx有一份工作样本。
答案 1 :(得分: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
从这里被盗: How to listen keyboard in background and fire keystrokes on demand?