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. 在VMware虚拟机中安装CentOS 7

    [声明] 欢迎转载,但请保留文章原始出处 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3917 ...

  2. js正则表达式中=s.g表示什么意思

    //g是全局匹配//中间的内容表示:匹配以=开关,后面是0或多个空格,然后是双引号括起来的任意字符,比如:= "any symble" 匹配 = " asfjaskldf ...

  3. 动软Model 模板 生成可空类型字段

    动软代码 生成可空类型 <#@ template language="c#" HostSpecific="True" #> <#@ outpu ...

  4. motan源码解读:注册中心zookeeper(2)

    上文大概讲解了利用zookeeper如何实现注册中心的.本文主要是从源码角度说明下.代码都在模块motan-registry-zookeeper中,其实在在这个模块中就3个类. ZkNodeType: ...

  5. Hamming Weight的算法分析(转载)

    看代码时遇到一个求32bit二进制数中1的个数的问题,感觉算法很奇妙,特记录学习心得于此,备忘. 计算一个64bit二进制数中1的个数. 解决这个问题的算法不难,很自然就可以想到,但是要给出问题的最优 ...

  6. Delphi 延迟函数 比sleep 要好的多

    转自:http://www.cnblogs.com/Bung/archive/2011/05/17/2048867.html //延迟函数:方法一 procedure delay(msecs:inte ...

  7. SQLyog Enterprise 8.14

    用户名:yunjian注册码:81f43d3dd20872b6 下载地址:SQLyog Enterprise 8.14

  8. PostgreSQL的 fdw 跨库使用

    create extension postgres_fdw; ',dbname 'postgres'); create user mapping for android_market server s ...

  9. django 搭建自己的博客

    原文链接:http://www.errdev.com/post/4/ 每一个爱折腾的程序员都有自己的博客,好吧,虽然我不太喜欢写博客,但是这样骚包的想法却不断涌现.博客园虽好,可以没有完全的掌控感,搭 ...

  10. 转载linq to sql 的详解

    [转]LINQ To SQL 语法及实例大全 2011-11-26阅读38651 评论9 LINQ to SQL语句(1)之Where Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL ...