• C++ Code_HotKey


     
     
     
     

    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_wVkCodem_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_hWnd111 , m_wModifierm_wVkCode);
        
    }
        
    void CXyzDlg::OnHotKey(WPARAM wParamLPARAM 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();
    }

     

    效果图:

     




  • 相关阅读:
    使用windows自带工具计算文件 MD5 值
    去除桌面图标的箭头
    给自己电脑(物理机)安装 linux 系统
    Python 字典 fromkeys()方法的坑
    Python 超时(运行时间太长) 自定义多长时间结束进程
    Win10 python2和python3共存
    verdidebussy的使用技巧
    <DC guide ---2>
    <DC guide ---1>
    <RTL To GDS ---第一阶段>
  • 原文地址:https://www.cnblogs.com/xe2011/p/3885720.html
Copyright © 2020-2023  润新知