实现快捷键Alt+F12显示/隐藏程序功能
2011-06-13 11:09
483 查看
想实现注册类似于ctr+alt+shit+A+Z的方法很简单,将RegisterHotKey的第3个参数设置为KeyModifiers.Alt|KeyModifiers.Control|KeyModifiers.Shift,
第4个参数设置为Keys.B|Keys.Z。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Threading;
namespace rgHotKeys
{
public enum KeyModifiers
{
None = 0,
Alt = 1,
Control = 2,
Shift = 4,
Windows = 8
}
public partial class Form1 : Form
{
[DllImport("user32.dll",SetLastError=true)]
public static extern bool RegisterHotKey(IntPtr hwnd,int id,int fsModifiers,int vk);
[DllImport("user32.dll", SetLastError = true)]
public static extern bool UnregisterHotKey(
IntPtr hWnd, // handle to window
int id // hot key identifier
);
private int id;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
id = Thread.CurrentThread.GetHashCode();
RegisterHotKey(this.Handle, id, (int)KeyModifiers.Alt, (int)Keys.F12);
}
protected override void WndProc(ref Message m)
{
const int WM_HOTKEY = 0x0312;
switch (m.Msg)
{
case WM_HOTKEY:
if(id==(int)m.WParam)
{
System.Windows.Forms.MessageBox.Show ("你好!");
}
break;
}
base.WndProc(ref m);
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
UnregisterHotKey(this.Handle, 10001);
}
}
}
二、
想实现注册类似于ctr+alt+shit+A+Z的方法很简单,将RegisterHotKey的第3个参数设置为KeyModifiers.Alt|KeyModifiers.Control|KeyModifiers.Shift,
第4个参数设置为Keys.B|Keys.Z。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Threading;
namespace rgHotKeys
{
public enum KeyModifiers
{
None = 0,
Alt = 1,
Control = 2,
Shift = 4,
Windows = 8
}
public partial class Form1 : Form
{
[DllImport("user32.dll",SetLastError=true)]
public static extern bool RegisterHotKey(IntPtr hwnd,int id,int fsModifiers,int vk);
[DllImport("user32.dll", SetLastError = true)]
public static extern bool UnregisterHotKey(
IntPtr hWnd, // handle to window
int id // hot key identifier
);
private int id;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
id = Thread.CurrentThread.GetHashCode();
RegisterHotKey(this.Handle, id, (int)KeyModifiers.Alt, (int)Keys.F12);
}
protected override void WndProc(ref Message m)
{
const int WM_HOTKEY = 0x0312;
switch (m.Msg)
{
case WM_HOTKEY:
if(id==(int)m.WParam)
{
System.Windows.Forms.MessageBox.Show ("你好!");
}
break;
}
base.WndProc(ref m);
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
UnregisterHotKey(this.Handle, 10001);
}
}
}
第4个参数设置为Keys.B|Keys.Z。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Threading;
namespace rgHotKeys
{
public enum KeyModifiers
{
None = 0,
Alt = 1,
Control = 2,
Shift = 4,
Windows = 8
}
public partial class Form1 : Form
{
[DllImport("user32.dll",SetLastError=true)]
public static extern bool RegisterHotKey(IntPtr hwnd,int id,int fsModifiers,int vk);
[DllImport("user32.dll", SetLastError = true)]
public static extern bool UnregisterHotKey(
IntPtr hWnd, // handle to window
int id // hot key identifier
);
private int id;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
id = Thread.CurrentThread.GetHashCode();
RegisterHotKey(this.Handle, id, (int)KeyModifiers.Alt, (int)Keys.F12);
}
protected override void WndProc(ref Message m)
{
const int WM_HOTKEY = 0x0312;
switch (m.Msg)
{
case WM_HOTKEY:
if(id==(int)m.WParam)
{
System.Windows.Forms.MessageBox.Show ("你好!");
}
break;
}
base.WndProc(ref m);
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
UnregisterHotKey(this.Handle, 10001);
}
}
}
二、
想实现注册类似于ctr+alt+shit+A+Z的方法很简单,将RegisterHotKey的第3个参数设置为KeyModifiers.Alt|KeyModifiers.Control|KeyModifiers.Shift,
第4个参数设置为Keys.B|Keys.Z。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Threading;
namespace rgHotKeys
{
public enum KeyModifiers
{
None = 0,
Alt = 1,
Control = 2,
Shift = 4,
Windows = 8
}
public partial class Form1 : Form
{
[DllImport("user32.dll",SetLastError=true)]
public static extern bool RegisterHotKey(IntPtr hwnd,int id,int fsModifiers,int vk);
[DllImport("user32.dll", SetLastError = true)]
public static extern bool UnregisterHotKey(
IntPtr hWnd, // handle to window
int id // hot key identifier
);
private int id;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
id = Thread.CurrentThread.GetHashCode();
RegisterHotKey(this.Handle, id, (int)KeyModifiers.Alt, (int)Keys.F12);
}
protected override void WndProc(ref Message m)
{
const int WM_HOTKEY = 0x0312;
switch (m.Msg)
{
case WM_HOTKEY:
if(id==(int)m.WParam)
{
System.Windows.Forms.MessageBox.Show ("你好!");
}
break;
}
base.WndProc(ref m);
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
UnregisterHotKey(this.Handle, 10001);
}
}
}
相关文章推荐
- 微信小程序开发之radio实现显示和隐藏功能
- 微信小程序开发之radio实现显示和隐藏功能 原创 2017年07月04日 20:33:07 标签: 前端开发 / 微信 我们在开发微信小程序的时候,经常会用到显示和隐藏,
- 实现购物车结算功能:批量和全部删除,全选和反选,单价和总价,数量增减,页面隐藏和显示
- AngularJS实现DOM元素的显示与隐藏功能
- 度量快速开发平台:网格部件焦点行数据实现窗体功能的显示与隐藏控制
- CSS实现隐藏和显示功能的代码
- 利用UGUI实现 显示/隐藏密码 功能
- Android TextView实现点击显示全文与隐藏功能(附源码)
- 程序界面的自动隐藏与显示的实现
- 微信小程序使用progress组件实现显示进度功能【附源码下载】
- jQuery通过改变input的type属性实现密码显示隐藏切换功能
- 微信小程序左滑动显示菜单功能的实现
- JS实现登录页密码的显示和隐藏功能
- 一个用快捷键隐藏或显示任务栏的小程序
- C#之使用NotifyIcon实现任务栏托盘菜单,图标闪烁效果及气泡提示 很多程序是只需要后台运行的,甚至不需要自己的应用界面。NotifyIcon提供了程序在任务栏的显示功能 程序下载链接如下
- [Android]使用Linux命令实现隐藏显示应用功能
- 微信小程序 通过控制CSS实现view隐藏与显示
- jQuery基于闭包实现的显示与隐藏div功能示例
- 很实用的jQuery事件 - toggle() 方法,简单实现显示隐藏的功能
- 在页面中,我们经常看到,一个button按钮,如果属标点击,就会触发一个窗口的显示,如果二次点击并可以隐藏,那么如何通过JAVA配合html来实现这一功能呢?