如何在vb.net中捕获“fn +”键?

时间:2011-12-11 08:57:58

标签: vb.net

当按下fn +另一个键时,我找不到捕捉事件的方法。我只能抓住其他键和alt,ctrl和shift键。

2 个答案:

答案 0 :(得分:0)

不像ctrlaltshiftFn不是标准修饰键。

Fn+F2表示我的键盘上是静音,这意味着有一个名为KEY的{​​{1}}。

XF86MUTE时,系统会完全“Alt + a”。 按alt+a时,系统会获得Fn+F2。 按XF86MUTE时,系统只会获得Fn+a

答案 1 :(得分:0)

如何捕获按下的功能键,然后在Windows应用程序上执行操作 http://support.microsoft.com/kb/822492

我假设你使用winforms,记住你可以检测到表格上的按键。只需将Forms KeyPreview设置为True,并将KB文章中的代码放入Forms KeyDown事件中:

Private Sub Form1_KeyDown(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
'When the function keys are pressed, FuncKeysModule is called. 
 If e.KeyValue = Keys.F1 Or Keys.F2 Or Keys.F3 Or Keys.F4 Or Keys.F5 Or Keys.F6 Or Keys.F7  Or Keys.F8 Or Keys.F9 Or Keys.F10 Or Keys.F11 Or Keys.F12 Then
     FuncKeysModule(e.KeyValue)
     e.Handled = True
 End If
End Sub

另请参阅本指南,了解获取各种fn +选项的较低级别方法: http://www.autohotkey.net/~daonlyfreez/tutorials/3p/Veil/fnkey.htm