如何保持表格总是被选中

时间:2013-10-20 21:06:36

标签: vb.net winforms

我正在创建一个程序,我可以使用键盘上的按钮增加/减少音量控制。我已经使用指定的按钮创建了增加/减少音量的代码,但是当我在另一个程序上激活时,如果我按下键盘上的按钮,它们不会增加或减少音量。现在我需要一个代码来保持我的表单始终被选中,即使另一个表单已被激活,我尝试使用Me.Topmost = true然而它不起作用,因为表单没有用该代码选择。我花了几个小时试图搜索任何提示但无济于事,但是有人必须知道如何做到这一点,所以任何帮助都表示赞赏。 - 我使用的是Visual Basic 2012

2 个答案:

答案 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?