我可以用一键热键制作 WPF 应用程序吗?到处都是使用修饰符制作热键的教程,例如:[Alt]+[X]。例如,我需要制作全局热键 [F9]。如何在 C# .NET 4.5 中做到这一点?
问问题
487 次
1 回答
3
是的你可以。当你创建你的命令对象时,你可以传递的东西之一是一个,它包含一个从类InputGestureCollection
中继承下来的对象列表。InputGesture
这些类之一是KeyGesture
类,它定义了用于激活命令的特定键序列。
KeyGesture
类的属性之一Key
是 typeKey
的属性。这是键值的枚举。你想要的是Key.F9
.
要创建命令,您需要执行以下操作:
InputGestureCollection myCommandGestures = new InputGesturecollection();
myCommandGestures.Add( new KeyGesture( Key.F9 );
RoutedCommand MyCommand = new RoutedCommand( "MyCommand", typeof( MyViewModelClass ), myCommandGestures );
编辑
以上仅适用于 WPF。如果你想要一个全局热键,你必须调用 Win32RegisterHotKey
函数。 Visual Studio 论坛上此问题的答案包含指向如何执行此操作的示例的链接。
我不确定您是否必须同时执行这两项操作,或者只是调用该RegisterHotKey
函数来注册您的热键。
于 2014-04-18T20:51:20.310 回答