注册系统热键
来源:互联网 发布:网络保密整改报告 编辑:程序博客网 时间:2024/06/05 17:26
利用系统热键可以方便用户操作,快速调用另一个程序。比如可以按Ctrl+Alt+z可以调出QQ的聊天窗口。
方法比较简单,大致思路是用RegisterHotKey注册自定义热键和添加自定义消息,就可以实现增加系统热键。
第一步:
在类的头文件中添加
public:
ATOM m_atomId; //存储向操作系统添加的全局原子,是热键的标识符号
BOOL m_bRegister; //标识热键是否注册成功.TRUE:成功;FALSE:失败
在源代码文件中添加如下代码
//向操作系统添加一个全局原子Atom m_atomId,作为该热键的符号名称
m_atomId = GlobalAddAtom("myHotKey");
//设定ALT+Z为热键,应当尽量使用比较生疏的进行注册
//注册成功将m_bRegister变为TRUE,否则m_bRegister为FALSE
if(!RegisterHotKey(m_hWnd, m_atomId, MOD_ALT, 'Z'))
m_bRegister = FALSE;
else
m_bRegister = TRUE;
第二步:
添加自定消息响应函数
在头文件中添加
afx_msg void OnHotKey(WPARAM wParam,LPARAM lParam);
在源码文件中的BEGIN_MESSAGE_MAP之后END_MESSAGE_MAP之前添加如下的消息映射定义如下:
ON_MESSAGE(WM_HOTKEY,OnHotKey)
手工添加热键消息处理函数OnHotKey,注意其第一参数代表被按下的热键的符号标志.在该函数中用户可以完成注册Alt + Z热键需要进行的工作,比如呼出winap等.本例以演示为目的,不做具体的工作,只是弹出一个消息对话框响应该热键.代码如下:
void CMyHotKeyView::OnHotKey(WPARAM wParam, LPARAM lParam)
{
//如果按下的热键是用户注册的Alt + Z,则弹出消息对话框进行响应
//否则,什么都不做,交由系统去处理该热键事件
if(m_atomId == wParam)MessageBox("系统热键 Alt+Z 被激活", "响应系统热键", MB_OK);
}
- 如何注册系统热键
- 注册系统热键
- 注册系统热键
- C#注册系统热键
- 注册系统热键
- 注册系统热键
- C# 注册系统热键
- 注册系统热键
- 注册系统热键 RegisterHotKey()
- C# 注册系统热键
- C# 注册系统热键
- 注册系统热键
- DELPHI如何注册系统热键
- VC系统热键的注册
- VC系统热键的注册
- vc 如何注册系统热键
- 用DELPHI如何注册系统热键
- vc 如何注册多个系统热键
- Cocoa基本原理指南之五 - 对象的创建
- Weblogic安装过程中一些故障的处理方法
- WebBrowser脚本错误的完美解决方案
- 通过as3直接操作swf文件的元件
- 最近想学习一下MVC
- 注册系统热键
- Ex3.10 不同Activity之间的数据传递——Bundle对象的实现
- jQuery Ajax 实例演示
- DOMDocument
- Windows Socket通信
- VS2008,asp.net,C# 常用快捷键
- Servlet监听器详解
- iphone官方例子的地址汇总
- 算法导论第四章学习笔记