VC/MFC中为程序定义全局快捷键
1、注册快捷键
在初始化函数,如OnInitDialog() 注册快捷键,代码如下:
#define HotKeyID1 200
BOOL CDlgCloseProSetup::OnInitDialog()
{
CDialog::OnInitDialog();
::RegisterHotKey(m_hWnd, HotKeyID1, NULL, VK_HOME);
return TRUE;
}
RegisterHotKey()第一个参数为句柄,第二个为快捷键ID号,可自己任意定义,第三个为控制键,若不需可设为NULL,第四个为字母或数字,同样不需时可设为NULL 。
2、添加以下消息:
3.在OnHotKey函数中写入
void CJsEditDlg::OnHotKey(UINT nHotKeyId, UINT nKey1, UINT nKey2)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if(nHotKeyId == HotKeyID1)
{
OnBnClickedBtnkill();
}
CDialog::OnHotKey(nHotKeyId, nKey1, nKey2);
}
4.添加WM_CLOSE消息,在OnClose函数中写入
void CJsEditDlg::OnClose()
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
UnregisterHotKey(GetSafeHwnd(), HotKeyID1);
CDialog::OnClose();
}