系统环境:Windows 7
软件环境:Visual Studio 2008 SP1
本次目的:实现全局热键的效果
我们知道,通常在聊QQ的时候有新信息到来的时候,同时按下Ctrl+Alt+Z就能弹出新消息的聊天窗口。现在让我们来实现系统热键。
步骤一:建立一个基于对话框的工程,名称任意;
步骤二:在对话框头文件的消息映射函数 里面添加以下函数:
步骤三:在对话框实现文件CPP里面在BEGIN_MESSAGE_MAP 和END_MESSAGE_MAP 之间加入
步骤四:在对话框初始化函数OnInitDialog() 里面注册热键
步骤五:对函数OnHotKey() 函数的实现
步骤六:销毁。重载OnDestroy ()函数
好了,完成。下面看下用到的两个重要函数:
对于fsModifiers 参数有以下的选项:
-
MOD_ALT Either
ALT key must be held down.
MOD_CONTROL Either
CTRL key must be held down.
MOD_SHIFT Either
SHIFT key must be held down.
MOD_WIN Either
WINDOWS key was held down. These keys are labeled with the Microsoft Windows logo.Keyboard shortcuts that involve the WINDOWS key are reserved for use by the operating system.
关于RegisterHotKey的百科解释http://baike.baidu.com/view/1080084.htm
关于UnregisterHotKey的百科解释http://baike.baidu.com/view/1080097.htm
本文借鉴自:http://hi.baidu.com/gamevip/blog/item/8f37d40023347411738b65e5.html