如何在Metro(Windows 8)应用程序中检测Alt?

时间:2012-10-04 21:30:34

标签: c# keyboard windows-8 windows-runtime

我试图找出如何检测Alt已被按下。

不推荐使用Keyboard类,其EventArgs中的KeyUp / Down事件不包含与Alt对应的虚拟键。

我如何检测呢?

2 个答案:

答案 0 :(得分:3)

根据MSDN上VirtualKey页面的Community adds部分中的Companynerd255,您仍然可以获得缺少的密钥:

  

枚举中缺少某些键键盘上的某些键   VirtualKey中缺少,包括Equals键和一些   其他。但是,这些键仍会触发WinRT中的键事件,所以a   存在简单的解决方法:

     

找出该键的整数键码是什么(例如,对于Equals,   它是187)在检查该密钥时将该整数强制转换为VirtualKey   (例如(VirtualKey)187)

在这里找到: http://msdn.microsoft.com/en-us/library/windows/apps/windows.system.virtualkey.aspx

答案 1 :(得分:0)

的Bleh。显然,“菜单”VirtualKey代码用于“Alt”

我猜是因为它会显示菜单。

如果你转到old MSDN documentation,它实际上只是说:

  

菜单ALT键。

然而,在new documentation中,它没有说:

  

菜单|菜单18菜单键或按钮。

啊好......