我可以用一键热键制作WPF应用程序吗?Everywhere是使用修改器制作热键的教程,如:[Alt]+[X]。例如,我需要制作全局热键[F9]。我如何在C#中做到这一点。净4.5?
可以。创建命令对象时,可以传递的内容之一是InputGestureCollection
,它包含从InputGesture
类派生的对象列表。其中一个类是KeyGesture
类,它定义了用于激活命令的特定密钥序列。
KeyGesture
类的属性之一是类型为Key
的Key
属性。这是键值的枚举。你想要的是Key.F9
。
要创建命令,您需要执行以下操作:
InputGestureCollection myCommandGestures = new InputGesturecollection();
myCommandGestures.Add( new KeyGesture( Key.F9 );
RoutedCommand MyCommand = new RoutedCommand( "MyCommand", typeof( MyViewModelClass ), myCommandGestures );
编辑
以上仅适用于WPF。如果你想要一个全局热键,你必须调用Win32 RegisterHotKey
函数。VisualStudio论坛上这个问题的答案包含一个链接,指向如何做到这一点的示例。
我不确定您是必须同时执行这两项操作,还是只调用RegisterHotKey
函数来注册热键。