1、首先在.h文件中添加消息响应函数声明
afx_msg LRESULT OnHotKey(WPARAM wParam,LPARAM lParam);
2、关联消息及响应函数
BEGIN_MESSAGE_MAP()
ON_MESSAGE(WM_HOTKEY,OnHotKey)
END_MESSAGE_MAP()
3、在初始化函数里注册热键
RegisterHotKey(m_hWnd,ID_HOTKEY,MOD_ALT,‘s’);
//
ID_HOTKEY是自己定义的一个ID宏
‘s'可以写成ASCII码
4、在消息响应函数里添加操作
LRESULT
CMyTest::OnHotKey(WPARAM wParam,LPARAM lParam)
{
UINT Mod = (UINT) LOWORD(lParam); // key-modifier flags
UINT uVirtKey = (UINT) HIWORD(lParam); // virtual-key code
//判断响应了什么热键
if( MOD_CONTROL ==
Mod
&& ‘s’ == uVirtKey )
{
AfxMessageBox(_T("你按下了组合键 ALT+ S"));
}
else
AfxMessageBox(_T("你按下了未知热键"));
return 0;
}