KeyDown事件上的PrintScreen键

KeyDown事件上的PrintScreen键

问题描述:

不工作我使用C#Windows应用程序KeyDown事件上的PrintScreen键

我检查哪个键,用户通过有键盘按下。 我已经检查了所有按键,但它不是在PRINTSCREEN的情况下工作

private void comboBox1_KeyDown(object sender, KeyEventArgs e) 
{ 
     MessageBox.Show(e.KeyCode.ToString()); 
} 

那么如何检测PRINTSCREEN重点

+2

是否必须使用keydown检测printscreen?它通过keyup捕获! – 2010-11-27 17:50:57

+0

@HPT:你说得对,你应该将其作为答案发布。 – casablanca 2010-11-27 18:03:20

您可以使用KeyUp,它捕获PrintScreen键。

打印屏幕键是由OS被困,然后发送到应用程序。要检测这些密钥,您需要使用keyboard hook。您可能会对这篇文章感兴趣:Low-level Windows API hooks from C# to stop unwanted keystrokes

您可以使用

e.Key == Key.Snapshot 

这将在KeyUp事件

工作,如果KeyUp事件仍然不工作尝试修改形式KeyPreview属性true,然后再次测试KeyUp事件。