Code::使用HotKeyCtrl定义一个系统热键

// 关联HotKeyCtrl控件变量 m_HotKey1
 
 
 
BEGIN_MESSAGE_MAP(CXyzDlg, CDialog)
   
//{{AFX_MSG_MAP(CXyzDlg)
   
ON_WM_SYSCOMMAND()
   
ON_MESSAGE(WM_HOTKEY,OnHotKey)
    ON_WM_PAINT()
   
ON_WM_QUERYDRAGICON()
    ON_BN_CLICKED(IDC_BUTTON1,
OnButton1)
    ON_WM_CLOSE()
    //}}AFX_MSG_MAP
END_MESSAGE_MAP()
    
void CXyzDlg::OnButton1() 
{
    // TODO: Add your control notification handler code here
    
    WORD m_wVkCode;
    WORD m_wModifier;
    m_HotKey1.GetHotKey(m_wVkCode, m_wModifier);
    
    AfxGetMainWnd()->SendMessage(WM_SETHOTKEY,(WPARAM)MAKEWORD(m_wVkCode,m_wModifier));
    UINT mod = 0;
    if ( m_wModifier&HOTKEYF_ALT )     mod|=MOD_ALT;
    if ( m_wModifier&HOTKEYF_CONTROL ) mod|=MOD_CONTROL;
    if ( m_wModifier&HOTKEYF_SHIFT )   mod|=MOD_SHIFT;
    if ( m_wModifier&HOTKEYF_EXT )     mod|=MOD_WIN;
    
    m_wModifier=mod;
    ::RegisterHotKey(AfxGetMainWnd()->m_hWnd, 111 , m_wModifier, m_wVkCode);
    
}
    
void CXyzDlg::OnHotKey(WPARAM wParam, LPARAM lParam)
{
    switch (wParam)
    case 111:
        AfxMessageBox("热键响应成功!");
//    CDialog::OnHotKey(wParam,lParam);
}
    
void CXyzDlg::OnClose() 
{
    // TODO: Add your message handler code here and/or call default
    ::UnregisterHotKey(m_hWnd,111);
    CDialog::OnClose();
}

效果图:

 

C++ Code_HotKey的更多相关文章

随机推荐

  1. IOS中UIScrollView的详细使用

    UIScrollView 是可以滚动的View 要想让UIScrollView可以滚动,必须设置UIScrollView的contentSize contentSize : 表示UIScrollVie ...

  2. “iOS 推送通知”详解:从创建到设置到运行

    这是一篇编译的文章,内容均出自Parse.com的iOS开发教程,同时作者还提供了视频讲解.本文将带领开发者一步一步向着iOS推送通知的深处探寻,掌握如何配置iOS推送通知的奥义. 介绍一点点背景资料 ...

  3. html5标签集结1

    1.<bdo>标签:覆盖默认的文本方向. <bdo dir="ltr">Here is some text</bdo>  显示结果(从左到右): ...

  4. [札记]IL经典指令解析之方法调度

    call.callvirt和calli指令用于完成方法调用,有何区别呢? 1)call使用静态调度,也就是根据引用类型的静态类型来调度方法.call指令根据引用变量的类型来调用方法,因此通常用于调用非 ...

  5. SKAction

    [SKAction] 1.Every action is an opaque object that describes a change you want to make to the scene. ...

  6. RingBuffer源代码分析

    看到一篇写的非常详细的帖子,为防止楼主删帖后找不到,果断转载过来 RingBuffer源代码分析 出处:http://bbs.ickey.cn/community/forum.php?mod=view ...

  7. CIDR

    CIDR的介绍: CIDR(Classless Inter-Domain Routing,无类域间路由选择)它消除了传统的A类.B类和C类地址以及划分子网的概念,因而可以更加有效地分配IPv4的地址空 ...

  8. 找回使用过的QQ头像

    多么渴望那双眼睛能在万紫千红中发现自己:然而眼睛从来就不曾对自己留意:于是换种落寞再次接受垂直打击:然后然后的然后尼玛再换个逗比的头像证明老资无所谓老资无所谓嘿嘿: 我们换头像的时候,发现之前的一个最 ...

  9. linux 分区与挂载

    流程:分区-格式化-挂载 1.添加硬盘 使用fdisk -l命令查看磁盘状态 此处可以看到两块硬盘sda和sdb,第一块硬盘sda是装好系统的.sdb硬盘是未进行分区的. 本例将这个20G的硬盘分区, ...

  10. servlet-3_0-final-spec

    <?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns="http://w ...