为对话框应用程序添加热键的方法

为对话框应用程序添加热键的方法
1.定义热键的消息标识
#define HOTKEY_XXX 1001
2.窗体程序中添加详细响应函数(.h文件中)
afx_msg HRESULT OnHotKey(WPARAM wParam,LPARAM lParam);
3.窗体程序的.cpp文件中关联热键消息和响应函数
BEGIN_MESSAGE_MAP(CApiCommDlg, CDialog)
//{{AFX_MSG_MAP(CApiCommDlg)
ON_MESSAGE(WM_HOTKEY,OnHotKey)
END_MESSAGE_MAP()
4.窗体的OnInitDialog()函数中注册热键消息
   1)两键消息Alt+A
    HWND hotKey_hwnd=GetSafeHwnd();
    RegisterHotKey(hotKey_hwnd,HOTKEY_SHOWMAINWINDOW,MOD_ALT,'A');
   2)三建消息Ctrl+Alt+Z
    RegisterHotKey(hotKey_hwnd,HOTKEY_NEWMSGSHOW_CTL,MOD_ALT|MOD_CONTROL,'Z');
5.编写消息响应函数
HRESULT CXXXDilog::OnHotKey(WPARAM wParam,LPARAM lParam)/*热键*/
{
    switch(wParam)
    {
    case HOTKEY_SHOWMAINWINDOW: //Alt+A显示主页面
        {
                ShowWindow(SW_SHOW);
        }
        break;
     case HOTKEY_NEWMSGSHOW_CTL://Ctrl+Alt+Z显示新消息
        {
           MessageBox(_T("显示一个新消息!"));
        }
        break;
    default:
        break;
    }
    return TRUE;
}
6.程序退出时候注销热键
void CMainDilog::OnDestroy() /*窗口销毁函数中处理注销热键*/
{
    UnregisterHotKey(m_hWnd,HOTKEY_SHOWMAINWINDOW);
    UnregisterHotKey(m_hWnd,HOTKEY_MEDIA_CONTOL);
    CDialog::OnDestroy();   
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值