VS2008在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、添加以下消息:

VS2008在VC/MFC中为程序定义全局快捷键 - 弘毅 - 弘毅

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函数中写入

VS2008在VC/MFC中为程序定义全局快捷键 - 弘毅 - 弘毅
void CJsEditDlg::OnClose()
{
 // TODO: 在此添加消息处理程序代码和/或调用默认值
 UnregisterHotKey(GetSafeHwnd(), HotKeyID1);
 CDialog::OnClose();
}


转载地址:http://hayyoungsue.blog.163.com/blog/static/1238409772010416134878/

posted @ 2022-03-12 22:04  xiaomodecnblogs  阅读(64)  评论(0编辑  收藏  举报