c# 注册热键功能
2008-06-14 15:46
411 查看
using System.Runtime.InteropServices;
//注册热键的api
[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 Form2_Load1(object sender, System.EventArgs e)
{
RegisterHotKey(this.Handle,888,2,Keys.A);
//handle:这个窗体的handle 888:这个热键的标志id 2:crtl鍵 A: a鍵
}
private void Form2_Load1(object sender, System.EventArgs e)
{
UnregisterHotKey(this.Handle,888);
//handle:这个窗体的handle 888:上面那个热键的标志id
}
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 直接相加就可以了
如果用sendmessagea这個api 就是
SendMessage(this.Handle,WM_SETHOTKEY,0x45a, 0)
//WM_SETHOTKEY 是 0x32
//0x45a 高字节是contrl键 低字节是a b c d 所以5a是z的ascii 4是alt 也就是alt+z
//注册热键的api
[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 Form2_Load1(object sender, System.EventArgs e)
{
RegisterHotKey(this.Handle,888,2,Keys.A);
//handle:这个窗体的handle 888:这个热键的标志id 2:crtl鍵 A: a鍵
}
private void Form2_Load1(object sender, System.EventArgs e)
{
UnregisterHotKey(this.Handle,888);
//handle:这个窗体的handle 888:上面那个热键的标志id
}
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 直接相加就可以了
如果用sendmessagea这個api 就是
SendMessage(this.Handle,WM_SETHOTKEY,0x45a, 0)
//WM_SETHOTKEY 是 0x32
//0x45a 高字节是contrl键 低字节是a b c d 所以5a是z的ascii 4是alt 也就是alt+z
相关文章推荐
- C#注册热键【快捷键】代码
- C#实现注册全局热键(register hot key)
- C# 注册窗口热键(Winform&WPF)和系统热键
- android 访问c# webservice 实现登陆注册功能(android 上传json到服务器)
- C#注册全局热键
- C# 注册 Windows 热键
- C#中调用API函数RegisterHotKey注册多个系统热键
- windows下注册系统热键及系统托盘功能
- C#中调用API函数RegisterHotKey注册多个系统热键
- C#调用非托管dll 注册热键(摘录)
- C#注册系统热键
- .net(c#) 简单的软件注册功能的实现:
- C#注册窗体热键
- c# 注册全局热键
- c#注册全局热键简单应用
- C# 如何实现热键注册 RegisterHotKey
- C#软件开发实例.私人订制自己的屏幕截图工具(二)创建项目、注册热键、显示截图主窗口
- C#实现系统热键的功能
- C#注册全局热键的方法