c#中设置快捷键

2016-02-19 11:56 5 1 收藏

图老师小编精心整理的c#中设置快捷键希望大家喜欢,觉得好的亲们记得收藏起来哦!您的支持就是小编更新的动力~

【 tulaoshi.com - 编程语言 】

最近找了一些资料,是讲在C#中设置快捷键运行方法或程序的

要设置快捷键必须使用user32.dll下面的两个方法。

BOOL RegisterHotKey(
 HWND hWnd,
 int id,
 UINT fsModifiers,
 UINT vk
); 

  和

BOOL UnregisterHotKey(
 HWND hWnd,
 int id
); 
转换成C#代码,那么首先就要引用命名空间System.Runtime.InteropServices;来加载非托管类user32.dll。于是有了:

[DllImport("user32.dll", SetLastError=true)] 
public static extern bool RegisterHotKey(
 IntPtr hWnd, // handle to window 
 int id, // hot key identifier 
 KeyModifiers fsModifiers, // key-modifier options 
 Keys vk // virtual-key code 
); 

[DllImport("user32.dll", SetLastError=true)] 
public static extern bool UnregisterHotKey(
 IntPtr hWnd, // handle to window 
 int id // hot key identifier 
);


[Flags()] 
public enum KeyModifiers 

 None = 0, 
 Alt = 1, 
 Control = 2, 
 Shift = 4, 
 Windows = 8 


  这是注册和卸载全局快捷键的方法,那么我们只需要在Form_Load的时候加上注册快捷键的语句,在FormClosing的时候卸载全局快捷键。同时,为了保证剪贴板的内容不受到其他程序调用剪贴板的干扰,在Form_Load的时候,我先将剪贴板里面的内容清空。

  于是有了:

private void Form1_Load(object sender, System.EventArgs e)
{
 label2.AutoSize = true;

 Clipboard.Clear();//先清空剪贴板防止剪贴板里面先复制了其他内容
 RegisterHotKey(Handle, 100, 0, Keys.F10);
}

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
 UnregisterHotKey(Handle, 100);//卸载快捷键


  那么我们在别的窗口,怎么让按了快捷键以后调用我的主过程ProcessHotkey()呢?

  那么我们就必须重写WndProc()方法,通过监视系统消息,来调用过程:

protected override void WndProc(ref Message m)//监视Windows消息
{
 const int WM_HOTKEY = 0x0312;//按快捷键
 switch (m.Msg)
 {
  case WM_HOTKEY:
   ProcessHotkey();//调用主处理程序
   break;
 }
 base.WndProc(ref m);

来源:http://www.tulaoshi.com/n/20160219/1599200.html

延伸阅读
标签: 电脑入门
一键关机法 所谓一键关机法,就是指按一下自己设置的热键,就能够让Windows快速关机。在桌面上单击鼠标右键,从弹出的菜单中选择新建→快捷方式,然后在对话框的命令行空白处输入rundll32.exe user.exe, exitwindows,单击下一步按钮后为此快捷方式起名为快速关机,再单击完成按钮。接下来在桌面上用鼠标右键单击快速关机的快捷方式,选...
标签: Web开发
代码如下: script language="Javascript"  //屏蔽鼠标右键、Ctrl+N、Shift+F10、F5刷新、退格键  //屏蔽F1帮助  function window.onhelp()  {  return false  }  function KeyDown()  {  //alert(event.keyCode);  //屏蔽 Alt+ 方向键 ←&nb...
标签: 电脑入门
Word 中巧用Ctrl快捷键 Word是一款大家如今常用的办公软件,不管工作、学习都离不开它,那么除了日常的一些简单操作之外,笔者为大家搜集了一些常用的快捷键,希望可以帮助大家。 Ctrl键在Word中的作用很大,和其他不同的键组合起来使用,可发挥更大的作用。 Ctrl+D: 打开字体对话框,快速完成字体的各种设置。 Ctrl+E:使光标所在行的文字...
添加必要的注释,对一个有责任心、有道德模范的前端必须具备的好习惯, 可以大大提高代码的可维护性、可读性。 java代码注释快捷键:ctrl+shift+/ 首先熟悉一下html、css、js的注释的写法: 1、HTML注释语法: !--注释的内容--2、css注释语法 /* 注释内容 */ /* ----------文字样式开始---------- */3、javaScript注释 //注释内容 /*注释...
显示导航窗口(Navigator window) 【N】 运行 Visual Basic 应用程序的编辑器 【Alt】+【F11】 保存当前的图形 【Ctrl】+【S】 打开编辑文本对话框 【Ctrl】+【Shift】+【T】 擦除图形的一部分或将一个对象分为两个封闭路径 【X】 撤消上一次的操作 【Ctrl】+【Z】 撤消上一次的操作 ...

经验教程

327

收藏

28
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部