我希望在我的新应用程序中有多个全局热键(从Windows中的任何位置控制应用程序),我在网络上找到的所有给定的源/解决方案似乎提供了一种跛行的解决方案(或者解决方案)仅适用于一个g.hotkey,或运行时在屏幕上创建令人讨厌的鼠标延迟的解决方案).
这里有没有人知道可以帮助我实现这一目标的资源,我可以从中学到什么?什么?
谢谢 !:)
Oha*_*der 40
我找到的最好的解决方案是http://bloggablea.wordpress.com/2007/05/01/global-hotkeys-with-net/
Hotkey hk = new Hotkey();
hk.KeyCode = Keys.1;
hk.Windows = true;
hk.Pressed += delegate { Console.WriteLine("Windows+1 pressed!"); };
hk.Register(myForm);
Run Code Online (Sandbox Code Playgroud)
请注意如何将不同的lambda设置为不同的热键
http://www.codeproject.com/KB/cs/CSLLKeyboardHook.aspx
如果你没有使用.net 3.5.
我会通过使用P/Invoke为每个热键调用RegisterHotKey(),然后使用NativeForm(假设您使用WinForms)来通知WM_HOTKEY消息.这应该将您的大多数热键代码保存在一个地方.
| 归档时间: |
|
| 查看次数: |
32670 次 |
| 最近记录: |