在C#程序中使用系统热键

在C#程序中使用系统热键

ID:39922552

大小:87.00 KB

页数:3页

时间:2019-07-15

在C#程序中使用系统热键_第1页
在C#程序中使用系统热键_第2页
在C#程序中使用系统热键_第3页
资源描述:

《在C#程序中使用系统热键》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、在C#程序中使用系统热键关键词:热键Win32API1.首先引入System.Runtime.InteropServices usingSystem.Runtime.InteropServices;2.在类内部声明两个API函数,它们的位置和类的成员变量等同.[System.Runtime.InteropServices.DllImport("user32.dll")]//申明API函数              publicstaticexternboolRegisterHotKey(           IntPtrhWnd,//handletowindow       

2、             intid,//hotkeyidentifier                    uintfsModifiers,//key-modifieroptions                   Keysvk//virtual-keycode                      );[System.Runtime.InteropServices.DllImport("user32.dll")]//申明API函数              publicstaticexternboolUnregisterHotKey(       IntPtr

3、hWnd,//handletowindow                intid//hotkeyidentifier                  );3.定义一个KeyModifiers的枚举,以便出现组合键publicenumKeyModifiers   {       None=0,       Alt=1,       Control=2,       Shift=4,       Windows=8   }4.在类的构造函数出注册系统热键示例,下例注册了四个热键:      publicMainForm()       {           Initial

4、izeComponent();           RegisterHotKey(Handle,100,2,Keys.Left);//热键一:Control +光标左箭头           RegisterHotKey(Handle,200,2,Keys.Right);//热键一:Control +光标右箭头           RegisterHotKey(Handle,300,2,Keys.Up);//热键一:Control +光标上箭头           RegisterHotKey(Handle,400,2,Keys.Down);//热键一:Control +光标

5、下箭头           ....;       }5.重写WndProc()方法,通过监视系统消息,来调用过程示例:protectedoverridevoidWndProc(refMessagem)//监视Windows消息                 {                      constintWM_HOTKEY=0x0312;//如果m.Msg的值为0x0312那么表示用户按下了热键                      switch(m.Msg)                         {                  case

6、WM_HOTKEY:                                         ProcessHotkey(m);//按下热键时调用ProcessHotkey()函数               break;                         }                                 base.WndProc(refm);//将系统消息传递自父类的WndProc                 }  5.不用说,我们接下来需要实现ProcessHotkey函数://按下设定的键时调用该函数          pri

7、vatevoidProcessHotkey(Messagem)         {           IntPtrid=m.WParam;//IntPtr用于表示指针或句柄的平台特定类型                     //MessageBox.Show(id.ToString());                      stringsid=id.ToString();           switch(sid)           {               case"100":D

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。