使用键盘快捷键显示/隐藏.NET应用程序的最佳方法?

时间:2011-04-28 14:42:34

标签: c#

  

可能重复:
  Global keyboard capture in C# application

大家好,

我正在制作一个由C#编写的.NET应用程序(Window Forms),我遇到了问题。如何使用键盘快捷方式隐藏我的个人.NET应用程序,然后从相同的键盘快捷方式显示它。

谢谢!

3 个答案:

答案 0 :(得分:1)

首先,你应该澄清一下你正在使用哪种技术:WinForms,WPF?

无论如何,使用WinForms您可以使用KeyDown事件来处理此类事件:

private void OnKeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
     if (e.Shift && e.KeyCode == Keys.M) 
     {
         WindowState = FormWindowState.Minimized;
     }        
}

请注意,您需要按下修改键和/或常规键来执行操作,这显然是可以改变的。

另一个注意事项是,一旦执行了此操作,则窗口不再具有“焦点”,因此重复按键以再次显示窗口将无效 - 为此,您需要register a hot-key that Windows itself knows about或使用a keyboard hook to intercept keystroke input to the system在您的应用程序AFAIK中使用。

答案 1 :(得分:0)

如果您想要一个全局钩子(即系统范围的),请查看this article

答案 2 :(得分:0)

这可能值得一看全球钩子,虽然我有一种有趣的感觉,它在Windows 7中要困难得多:

http://www.codeproject.com/KB/system/globalsystemhook.aspx