大多数的软件都支持全键盘操作,即快捷键的操作。我们知道有的控件是带有快捷键设置的属性的,但是有的控件是没有,特别是重绘的控件或者自定义控件就不会有现成的属性,那么这个时候我们就用注册热键(热键可以注册成快捷键,反之不一定)来指定每个控件的快捷键,废话少说,下面来具体的:
1.首先我们知道系统中注册热键和注销热键的方法在user32.dll中,我们首先导入这个DLL,封装在HotKey类中,这个类中我们就封装好了系统的注册热键和注销热键的方法了。【快捷键和热键的区别不做讨论】
class HotKey
{
//如果函数执行成功,返回值不为0。
//如果函数执行失败,返回值为0。要得到扩展错误信息,调用GetLastError。
[DllImport("user32.dll", SetLastError = true)]
public static extern bool RegisterHotKey(
IntPtr hWnd, //要定义热键的窗口的句柄
int id, //定义热键ID(不能与其它ID重复)
KeyModifiers fsModifiers, //标识热键是否在按Alt、Ctrl、Shift、Windows等键时才会生效
Keys vk