步骤一: 建立MFC对话框工程HotKeyTest,并在CHotKeyTest类头文件中添加热键消息响应函数:
afx_msg LRESULT OnHotKey(WPARAM wParam, LPARAM lParam);
步骤二: 在消息映射中添加热键消息映射
BEGIN_MESSAGE_MAP(CHotKeyTestDlg, CDialog)
....
ON_MESSAGE(WM_HOTKEY,&CHotKeyTestDlg::OnHotKey)
....
END_MESSAGE_MAP()
步骤三:onHotKey()函数的实现
LRESULT CHotKeyTestDlg::OnHotKey(WPARAM wParam, LPARAM lParam)
{
if ((int)wParam == 1000)//1000为热键注册代号
{
//在这里添加想要响应的命令
this->MessageBox(_T("您按下了ALT+W"),_T("提示"));
}
if ((int)wParam == 1000)//1000为热键注册代号
{
//......
}
return 0L;
}
步骤四:经过上面三步以后,就可以了进注册热键注册工作了,可以通过按钮点击进行注册,也可以在窗口初始化时进行热键的注册.
注册需要用到windows API : RegisterHotKey(this->m_hWnd,1000,~(~MOD_ALT|MOD_ALT),VK_F5)//
第一个参数:需要注册热键窗口的句柄
第二个参数:热键注册标识号
第三个窗口为:热键类型,MOD_ALT(用Alt+..),MOD_CTRL(用CTRL+..),~(~MOD_ALT|MOD_ALT)什么都不选,单个热键注册
第四个参数:就是虚拟按键码了.可以用VkKeyScan('W'),函数来获取,也可以直接以'W'的形式来表示.
返回值为BOOL类型,可以进行适当的判断.
本文详细介绍了如何在MFC编程环境中为应用程序设置热键。首先,在CHotKeyTest类头文件中添加热键响应函数OnHotKey。接着,在消息映射中映射热键消息。然后,实现OnHotKey函数,根据wParam值执行不同操作。最后,使用Windows API RegisterHotKey注册热键,指定窗口句柄、热键标识、热键类型和虚拟按键码。
3211

被折叠的 条评论
为什么被折叠?



