C# 系统热键注册实现代码

先引用using System.Runtime.InteropServices; 的命名空间,
然后在合适的位置加上如下代码就OK。。注意:Form1_Load和Form1_FormClosed不能直接copy哦~

代码如下:

[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);
}

辅助键说明:
None = 0,
Alt = 1,
crtl= 2,
Shift = 4,
Windows = 8
如果有多个辅助键则,例如 alt+crtl是3 直接相加就可以了

(0)

相关推荐

  • 深入理解C#实现快捷键(系统热键)响应的方法

    在应用中,我们可能会需要实现像Ctrl+C复制.Ctrl+V粘贴这样的快捷键,本文简单介绍了它的实现,并给出了一个实现类.(1)建立一个类文件,命名为HotKey.cs,代码如下: 复制代码 代码如下: using System;using System.Collections.Generic;using System.Runtime.InteropServices;using System.Windows.Forms;namespace KoalaStudio.BookshopManager{

  • C#实现自定义windows系统日志的方法

    本文实例讲述了C#实现自定义windows系统日志的方法.分享给大家供大家参考.具体实现方法如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; namespace ConsoleApp { /// <summary> /// 系统日志 /// </summary> public class PackSys

  • C#通过热键控制显示器开关的方法

    本文实例讲述了C#通过热键控制显示器开关的方法.分享给大家供大家参考. 具体实现方法如下: 复制代码 代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Sys

  • C#自定义签名章实现方法

    本文实例讲述了C#自定义签名章实现方法.分享给大家供大家参考.具体实现方法如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Drawing; using System.Drawing.Imaging; using System.Drawing.Drawing2D; namespace WfpApp { public class DrawCac

  • C#自定义事件及用法实例

    本文实例讲述了C#自定义事件及用法.分享给大家供大家参考.具体分析如下: 事件是C#中一个重要的内容,MSDN上有一个自定义事件的演示示例.我看了半天有点晕,所以新建了一个winform工程添加了一个按钮,然后找出调用的程序,一对比做了一个类似的示例,就明白了.看代码有时候比看文档来得更快. 所以还是一贯的原则,来干的,不来稀的. using System; namespace TestEventArgs { /// <summary> /// 这个类对应于EventArgs,做对比学习. /

  • C#编程实现自定义热键的方法

    本文实例讲述了C#编程实现自定义热键的方法.分享给大家供大家参考.具体实现方法如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Drawing.Im

  • C#全局热键设置与窗体热键设置实例

    本文实例讲述了C#全局热键设置与窗体热键设置,分享给大家供大家参考.具体实现方法如下: 1.窗体热键 首先要设置主窗体KeyPreview为true,可直接在属性中进行设置, 或者在窗体加载中设置: this.KeyPreview = true; 然后添加窗体KeyDown事件,如下: 复制代码 代码如下: private void FrmMain_KeyDown(object sender, KeyEventArgs e) {     if (e.Alt && e.Shift &

  • c#使用热键实现程序窗口隐藏示例

    复制代码 代码如下: using System; using System.Text; using System.Collections; using System.Runtime.InteropServices; namespace WindowHider {     /// <summary>     /// Object used to control a Windows Form.     /// </summary>     public class Window    

  • C#自定义类型强制转换实例分析

    本文实例讲述了C#自定义类型强制转换的用法.分享给大家供大家参考.具体分析如下: 先来举一个小例子 类定义: public class MyCurrency { public uint Dollars; public ushort Cents; public MyCurrency(uint dollars, ushort cents) { this.Dollars = dollars; this.Cents = cents; } public override string ToString()

  • C# 系统热键注册实现代码

    先引用using System.Runtime.InteropServices; 的命名空间, 然后在合适的位置加上如下代码就OK..注意:Form1_Load和Form1_FormClosed不能直接copy哦- 复制代码 代码如下: [DllImport("user32")] public static extern bool RegisterHotKey(IntPtr hWnd,int id,uint control,Keys vk ); //注册热键的api [DllImpor

  • C语言实现ATM系统程序的完整代码

    实现效果如图: 代码如下: #include<stdio.h> #include<string.h> #include<conio.h> #include<stdlib.h> //开户信息 typedef struct _Person { char name[20]; char account[20]; char password[7]; float money; }Person; //结点 typedef struct _Node { Person P;

  • Django drf使用Django自带的用户系统的注册功能

    目录 1.阅读Django自带用户系统源码 1.1 阅读User类源码 1.2 阅读AbstractUser类 2.创建自己的User类 2.1 创建验证器 2.2 创建User类 3.创建序列化类 4.创建views类 5.创建路由 6.测试接口 在写登录功能的时候看着网上的视频学着做,然后看了源码的时候发现了一些有意思的功能,因此写这一篇笔记分享给大家. 1.阅读Django自带用户系统源码 1.1 阅读User类源码 系统自带的用户系统的models文件的位置\site-packages\

  • 轻松设置让系统不受恶意代码攻击

    所谓恶意代码,是指网页中使用了利用WSH漏洞来修改系统的一段代码(但是由于它并不具备传染性和自我复制这两个病毒的基本特征,因此不能称作病毒).WSH是"Windows Scripting Host"的缩写,是微软提供的一种脚本解释机制,它使得脚本文件(扩展名为.js..vbs等)能够直接在Windows桌面或命令提示符下运行(您可以搜索一下您windows安装目录下的 *.js或者*.vbs文件,然后双击运行看看效果). 也就是说,我们可以从卸载WSH.阻止恶意代码运行.实时保护的任意

  • JavaScript实现实时更新系统时间的实例代码

    一.Js代码 function getTime(){ str = "当前系统时间:" var p = document.getElementById("sy_time"); time = new Date(); year = time.getFullYear(); month = time.getMonth() + 1; day = time.getDate(); hour = time.getHours(); minutes = time.getMinutes()

  • Codeigniter注册登录代码示例

    本示例Codeigniter注册登录代码源自一个codeigniter的项目,现分享下~ 由于使用了 Active Record 类,一般数据库操作只有两层,即是C和V controllers/login.php文件: 复制代码 代码如下: <?phpclass Login extends CI_Controller { private $pass = ''; public function __construct() {  parent::__construct ();  $this->lo

  • jquery实现LED广告牌旋转系统图片切换效果代码分享

    本文实例讲述了jquery实现LED广告牌旋转系统图片切换效果,分享给大家供大家参考.具体如下: js模拟路边巨大显示屏上广告切换效果,不得不相信js做到了,而且让你无话可说的逼真效果. LED广告显示器上图片切换效果,场景也类似,效果相当震撼看得我目瞪口呆,热爱特效的你可不要错过哈! 运行效果图: -------------------查看效果 下载源码------------------- 小提示:浏览器中如果不能正常运行,可以尝试切换浏览模式. 为大家分享的jquery实现LED广告牌旋转

  • jquery实现的弹出层登录和全屏层注册特效代码分享

    本文实例讲述了jquery实现多条件筛选特效.分享给大家供大家参考.具体如下: jquery实现的弹出层登录和无刷新切换全屏层注册特效源码,是一段非常适合现代审美观的网站登录和注册效果代码,本段实例主要表现在点击登录后在当前页面内弹出登录遮罩层,而点击注册链接时,在当前页面内无刷新显示全屏注册层效果,是一款非常实用的特效代码,值得大家学习. 运行效果图:                           -------------------查看效果 下载源码-----------------

  • 保存和配置系统硬件注册信息—注册表使用全攻略之十二

    保存和配置系统硬件注册信息-注册表使用全攻略之十二 电脑用的时间长了,经常要更换一些硬件设备,重复安装驱动程序也就成了家常便饭,这样就致使电脑中残留下很多硬件注册信息,系统启动时就会试图与不存在的设备通讯,从而导致系统速度的下降.如何删除这些注册信息呢?格式化么?太麻烦了吧! 其实Windows有个"硬件配置文件"功能,它是用来告诉电脑在启动时启动哪些硬件设备,第一次安装Windows时,系统就默认创建了一个配置文件"Original Configuration"(

随机推荐