MFC中注册全局热键

来源:互联网 发布:java 高并发网站 编辑:程序博客网 时间:2024/05/30 22:46

添加HOTKEY CREATE DESTROY消息

 

更改MESSAGE MAP中的ON_MESSAGE(WM_HOTKEY,OnHotKey)

 

编写OnHotKey函数
LRESULT CAutoTypingDlg::OnHotKey(WPARAM wParam,LPARAM lParam)
{
 // TODO: Add your message handler code here and/or call default

 switch(wParam)
 {
  case(1010): OnBnClickedButton1(); break;
  case(1011): OnBnClickedButton2(); break;
  default: return 0;
 }
 return 0;
}

 

更改头文件中的函数声明
afx_msg LRESULT OnHotKey(WPARAM wParam,LPARAM lParam);

 

编写OnCreate函数
int CAutoTypingDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
 if (CDialogEx::OnCreate(lpCreateStruct) == -1)

  return -1;

 

 RegisterHotKey(m_hWnd,1010,MOD_CONTROL,'1');
 RegisterHotKey(m_hWnd,1011,MOD_CONTROL,'2');

 return 0;
}

 

编写OnDestroy函数
void CAutoTypingDlg::OnDestroy()
{
 CDialogEx::OnDestroy();

 // TODO: Add your message handler code here
 UnregisterHotKey(m_hWnd,1010);
 UnregisterHotKey(m_hWnd,1011);
}

原创粉丝点击