【发布时间】:2012-01-04 05:44:09
【问题描述】:
我一直在尝试在我最新的 WPF/C# 项目中使用系统范围/全局热键。幸运的是,我在这里遇到了这门精彩的课程 - http://www.codeproject.com/Tips/274003/Global-Hotkeys-in-WPF。
唯一的问题是,我无法让它工作。自上周以来,我一直在努力解决这个问题,奇怪的是,我没有遇到任何错误。这是我的代码,有什么想法吗?
HotKey hotkey = new HotKey((System.Windows.Interop.HwndSource)System.Windows.Interop.HwndSource.FromVisual(App.Current.MainWindow));
//hotkey.Modifiers = list[i]._HotkeyA.Modifier; hotkey.Key = list[i]._HotkeyA._Key;
hotkey.Modifiers = HotKey.ModifierKeys.Shift; hotkey.Key = Key.F2;
hotkey.HotKeyPressed += new EventHandler<HotKeyEventArgs>(delegate(Object o, HotKeyEventArgs e)
{
Console.WriteLine("Congratulations, Cap'n.");
System.Windows.Forms.MessageBox.Show("YAAY HOTKEY HAZ BEEN TEH PRESSEDS!");
});
hotkey.Enabled = true;
提前致谢!
【问题讨论】:
-
我使用了命令和绑定方法,这里有一个例子stackoverflow.com/questions/2382916/…
-
谢谢,但我的意思是系统范围的热键。
-
您使用 System.Windows.Input.Key.F2 还是它的 WindowsForms“兄弟”?