当前位置:  编程技术>.net/c#/asp.net

c#系统热键(快捷键)实现方法与代码

    来源: 互联网  发布时间:2014-08-30

    本文导语:  c#系统热键,与你所看到的很多应用软件一样,就是常说的快捷键,使用c#也可以实现热键(快捷键)的功能。 比如按alt+F4是关键窗口,按ctrl+C是复制内容等。 来看c#是如何实现系统热键的注册、注销等操作的吧。 首先,using Syste...

c#系统热键,与你所看到的很多应用软件一样,就是常说的快捷键,使用c#也可以实现热键(快捷键)的功能。
比如按alt+F4是关键窗口,按ctrl+C是复制内容等。

来看c#是如何实现系统热键的注册、注销等操作的吧。

首先,using System.Runtime.InteropServices; 引用命令空间。

然后,在合适的位置加上以下的代码。
 

代码示例:

[DllImport("user32")]
public static extern bool RegisterHotKey(IntPtr hWnd,int id,uint control,Keys vk );
//注册热键的api
[DllImport("user32")]
public static extern bool UnregisterHotKey(IntPtr hWnd, int id);

private void Form1_Load(object sender, EventArgs e)
{
//注册热键(窗体句柄,热键ID,辅助键,实键)
RegisterHotKey(this.Handle, 888, 2, Keys.A);
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
//注消热键(句柄,热键ID)
UnregisterHotKey(this.Handle, 888);
}
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case 0x0312: //由window消息定义的 注册的热键消息
if (m.WParam.ToString().Equals("888")) //若是我们注册的那个热键
MessageBox.Show("按了ctrl+a键");
break;
}
base.WndProc(ref m);
}

注意:Form1_Load和Form1_FormClosed不能直接copy。

辅助键说明:
None = 0,
Alt = 1,
ctrl= 2,
Shift = 4,
Windows = 8
注意:需要多个辅助键话,例如ctrl+shift是6,则直接相加就可以了。


    
 
 

您可能感兴趣的文章:

  • C# Timer定时器控件运行时需要修改系统时间的问题
  • C# 获取系统特殊文件夹路径的方法
  • 使用C#获取系统特殊文件夹路径的解决方法
  • C# 设置系统日期格式的方法
  • c#判断操作系统位数实例代码
  • c#判断操作系统位数的示例分享
  • C#获取系统版本信息方法
  • C# 获取系统进程的用户名
  • 系统进程用户名的获取方法(c#代码)
  • c# 获取系统版本信息的代码
  • c#不使用系统api实现可以指定区域屏幕截屏功能
  • C# 相对路径与系统路径
  • C# Winform 调用系统接口操作 INI 配置文件的代码
  • c#系统环境变量的配置方法
  • 配置C#的系统环境变量的方法
  • C# 系统热键注册实现代码
  • C#屏蔽ComboBox系统右键菜单的实现代码
  • c#使用filesystemwatcher监视文件系统的变化
  • C#中实现在32位、64位系统下自动切换不同的SQLite dll文件
  • C#中动态显示当前系统时间的实例方法
  • 深入理解C#实现快捷键(系统热键)响应的方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何取消ctrl+alt+f1以及alt+f4等系统默认的功能快捷键
  • linux桌面系统下快捷键
  • mount命令(linux操作系统)挂载卸载文件系统(cifs,光驱,nfs等)方法介绍
  • 问一个系统配置的问题:win2k系统能不能于SCO UNIX系统共存?
  • win7/Windows7系统下载地址搜集整理
  • unix下用java.util.Date取系统时间比直接在系统下用date命令查看系统时间早整整一个小时
  • Ubuntu查看系统信息命令介绍
  • windows 系统是否是多用户操作系统,如何理解“多用户操作系统”的“多用户”?
  • python下用os.execl执行centos下的系统时间同步命令ntpdate
  • 我现在想做一个权限管理系统,想让权限系统的利用性更强,我应该怎样设计权限系统呢.
  • 怎样重装win7系统?win7重装系统步骤详细图文介绍
  • 谁知道哪里有用java开发的管理信息系统软件(如:图书馆管理系统,人事部管理系统)的代码?
  • windows server2008上PowerBuilder程序系统错误解决方法
  • 原来已安装好ubuntu,因系统崩溃,重装WINXP系统,如何再次登录ubuntu系统?
  • Ubuntu系统安装及升级命令
  • Linux(Oracle系统在上面)系统无缘无故死机 , 可能是由于应用程序引起 , 可是由于重新启动查不到相关信息 , 不知道在哪里有记录系统CPU Lo
  • 安装运行微软win7/Windows7系统要求及官方下载地址
  • UNIX系统下,进程写文件,写了很大量的文件,但是进程被KILL -9杀掉,系统可以保证写缓冲上的文件写到系统吗?
  • Linux(Oracle系统在上面)系统无缘无故死机 , 可能是由于应用程序引起 , 可是由于重新启动查不到相关信息 , 不知道在哪里有记录系统CPU Lo iis7站长之家
  • LINUX系统怎么记录飞鱼星VE982G系统日志
  • Linux内存文件系统(ramdisk)的三种实现方式
  • pipe是什么样的文件系统?是独立的文件系统吗?
  • linux内存文件系统ramfs实现原理
  • MINIX3 系统如何添加系统调用


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3