我有这段代码
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if(e.KeyCode== Keys.Z)
{
BarTimer.Value = 0;
timer1.Start();
timer1.Interval = 500;
BarTimer.Minimum = 0;
BarTimer.Maximum = 80;
}
}
它工作正常,但我希望能够在全屏应用程序中按下它,所以我可以在第二台显示器上看到进度条。是否有财产或其他我可以改变以使其像那样工作?
答案 0 :(得分:1)
如果它是单个键,您可以使用RegisterHotKey。此答案中有示例代码:how to use RegisterHotKey和其中链接的代码。 Microsoft C ++文档为here。
如果要拦截所有键盘输入,则需要一个键钩。我建议你google WH_KEYBOARD_LL和SetWindowsHookEx。但我不认为你可以用c#做到这一点;我只见过用C / C ++编写的密钥钩子。它们还会引起一些防火墙的兴趣 - 拦截所有键盘输入可能被认为是潜在的敌意。
答案 1 :(得分:1)
嗨,我知道我在代码项目中找到了一个很好的教程。 当我需要这样的东西时,它对我有用。
http://www.codeproject.com/Articles/19004/A-Simple-C-Global-Low-Level-Keyboard-Hook
此致