采用API的方式来实现。首先定义这些热键注册的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);
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case 0x0312: //这个是window消息定义的 注册的热键消息
if (m.WParam.ToString().Equals("888")) //如果是我们注册的那个热键
this.Show();
break;
}
base.WndProc(ref m);
}
如果需要注册热键,直接使用类似如下代码即可:
//注册热键(窗体句柄,热键ID,辅助键,实键)
RegisterHotKey(this.Handle, 888, 7, Keys.P);
值得注意的是,7表示Shift、Alt和Ctrl三个键的组合值。Shift的值为4,Alt的值为1,Ctrl的值为2,Windows键的值为8。如果要同时按住Shift和Alt键,则值为5。在此值7表示需要同时按住Shift、Alt和Ctrl三个键,然后按住键盘的P,才表示注册该窗体的快捷键。至于按住快捷键后,发生什么事件,则修改WndProc函数里面的代码:
if (m.WParam.ToString().Equals("888")) //如果是我们注册的那个热键
后面的。如本例中this.Show();表示按住该快捷键时将显示该窗体。
分享到:
相关推荐
C#注册热键并使用热键显示隐藏的窗体。非常简单的代码。程序下载打开即可使用。有什么不明白的咱们可以微信继续交流:VPAmway。
C#窗体实现热键控制窗口隐藏显示 主要类文件 class HotKey { //如果函数执行成功,返回值不为0。 //如果函数执行失败,返回值为0。要得到扩展错误信息,调用GetLastError。 [DllImport("user32.dll", ...
本程序在VS2005测试通过,代码里有详细注释!!!
如何在C#程序中使用系统热键
C#全局热键(快捷键)设置, 全局热键 单键和组合键的代码,本程序在Visual Studio 2017测试通过,代码里有详细注释.
一个完整实例,C#实现应用程序最小化时加入系统托盘,注册热键(可通过INI文件配置),热键显示并激活或最小化,只运行一个实例,Excel文件读取及写入。
C#注册窗体热键,没有焦点也可以触发 C#代码 private void Form1_KeyDown(object sender, KeyEventArgs e) { if (e.Control && e.KeyCode == Keys.A) { btnTest_Click(this, EventArgs.Empty); } } ...
namespace _0000000 { public partial class main : Form { public main() { string xx = Environment.CurrentDirectory; InitializeComponent(); ... #region 窗体加载 ... #region 屏蔽和开启任务管理器(方法一:...
看门狗程序,可屏蔽系统热键,ctrl+alt+del alt+f4 tab+alt,根据上次退出看门狗时热键屏蔽的状态来决定下次启动看门狗程序是否屏蔽热键
C# DLL 移动控件 截屏 全局热键设置 树控件与数据库的结合 MD5计算
C#实现程序最小化到托盘,关闭后到托盘,热键实现隐藏和显示间切换
通过本C#程序源码可学习: 程序窗体最大化/最小化还原到系统托盘 调用系统DLL(user32.dll)设定全局热键控制程序,模拟鼠标单击操作 调用timer控件计时 Thread线程控制 FileStream文件流读写操作
利用api函数定义热键,通过热键调用应用程序的运行.
实例229 C#中实现文件拖放 317 实例230 文件比较 318 实例231 获取文件夹中的图标资源 319 实例232 获取文件夹下的所有文件夹及文件的名称 321 第7章 操作系统与Windows相关程序 324 7.1 启动相关 325 实例...
C#设置热键示例代码源程序,可以屏蔽6组热键,也可以设置多组热键,param name="pHookHandle"是您自己的钩子函数的句柄。用该句柄可以遍历钩子链,param name="nCode"把传入的参数简单传给CallNextHookEx即可。 ...
实例229 C#中实现文件拖放 317 实例230 文件比较 318 实例231 获取文件夹中的图标资源 319 实例232 获取文件夹下的所有文件夹及文件的名称 321 第7章 操作系统与Windows相关程序 324 7.1 启动相关 325 实例...
实现了按照textbox3获得的句柄值,将textbox2的消息发送至目标 c# 已知一个程序的控件句柄发送系统消息的实例,另附送全局热键
一个窗口管理工具 可运行于Windows各种平台环境下,只需按下一个预先定义的系统热键,即可将满足
简单点说就是为程序制定快捷键勒。。很多软件都带热键功能的,通过以下方式可以实现2个键或3个键的快捷键,相当之使用,具体实现方法看后文吧。