<转>MFC注册系统/全局热键。

时间:2022-02-22 11:41:45
<转>MFC注册系统/全局热键。
1.
 BEGIN_MESSAGE_MAP(CRS232TESTDlg, CDialog)

//{{AFX_MSG_MAP(CRS232TESTDlg)
 ON_MESSAGE(WM_HOTKEY,OnHotKey)
 //}}AFX_MSG_MAP

2.在BOOL CRS232TESTDlg::OnInitDialog()中添加

::RegisterHotKey(GetSafeHwnd(),WM_HOTKEY,MOD_ALT|MOD_CONTROL,VK_F12);

BOOL CRS232TESTDlg::OnInitDialog()
{
 CDialog::OnInitDialog();
 // Add "About..." menu item to system menu.
 ::RegisterHotKey(GetSafeHwnd(),WM_HOTKEY,MOD_ALT|MOD_CONTROL,VK_F12);
 // IDM_ABOUTBOX must be in the system command range.
 ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
 ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu* pSysMenu = GetSystemMenu(FALSE);
 if (pSysMenu != NULL)

3.对CRS232TESTDlg添加成员函数void OnHotKey(WPARAM wParam, LPARAM lParam)

void CRS232TESTDlg::OnHotKey(WPARAM wParam, LPARAM lParam)
{
 ShowWindow(SW_SHOW);//显示窗口
}

在退出窗口函数中添加::UnregisterHotKey(GetSafeHwnd(),WM_HOTKEY);
附:
 MFC 键盘按键

VK_LBUTTON鼠标左键
VK_RBUTTON鼠标右键
VK_CANCEL  Control-break过程
VK_MBUTTON鼠标中键
VK_BACK BACKSPACE键
VK_TAB  TAB键
VK_CLEAR  CLEAR键
VK_RETURN DENTER键
VK_SHIFT  SHIFT键
VK_CONTROL   CTRL键
VK_MENU    ALT键
VK_PAUSE   PAUSE键
VK_CAPITAL   CAPSLOCK键
VK_ESCAPE   ESC键
VK_SPACE    SPACEBAR
VK_PRIOR   PAGEUP键
VK_NEXT   PAGEDOWN键
VK_END    END键
VK_HOME    HOME键
VK_LEFT    LEFTARROW键
VK_UP    UPARROW键
VK_RIGHT   RIGHTARROW键
VK_DOWN   DOWNARROW键
VK_SELECT   SELECT键
VK_EXECUTE   EXECUTE键
VK_SNAPSHOT  PRINTSCREEN键(用于Windows3.0及以后版本)
VK_INSERT   INS键
VK_DELETE   DEL键
VK_HELP    HELP键
///////////////////////////////////////////////////
对于字母键和非小键盘上的数字键,直接在单引号中加入该键就行.
比如:a键:'A'
1键:'1'
//////////////////////////////////////////////
VK_LWIN    LeftWindows键(Microsoft自然键盘)
VK_RWIN    RightWindows键(Microsoft自然键盘)
VK_APPS   Applications键(Microsoft自然键盘)
VK_NUMPAD0  数字小键盘上的0键
VK_NUMPAD1  数字小键盘上的1键
VK_NUMPAD2  数字小键盘上的2键
VK_NUMPAD3  数字小键盘上的3键
VK_NUMPAD4  数字小键盘上的4键
VK_NUMPAD5  数字小键盘上的5键
VK_NUMPAD6  数字小键盘上的6键
VK_NUMPAD7  数字小键盘上的7键
VK_NUMPAD8  数字小键盘上的8键
VK_NUMPAD9  数字小键盘上的9键
VK_MULTIPLY  Multiply键(小键盘*键)
VK_ADD       Add键
VK_SEPARATOR  Separator键
VK_SUBTRACT   Subtract键
VK_DECIMAL    Decimal键(小键盘.键)
VK_DIVIDE    Divide键(小键盘/键)
VK_F1     F1键
VK_F2     F2键
VK_F3   F3键
VK_F4   F4键
VK_F5   F5键
VK_F6  F6键
VK_F7  F7键
VK_F8  F8键
VK_F9   F9键
VK_F10   F10键
VK_F11   F11键
VK_F12  F12键
VK_F13   F13键
VK_F14   F14键
VK_F15  F15键
VK_F16 F16键
VK_F17  F17键
VK_F18 F18键
VK_F19    F19键
VK_F20     F20键
VK_F21    F21键
VK_F22    F22键
VK_F23    F23键
VK_F24    F24键
VK_NUMLOCK     NUMLOCK键
VK_SCROLL      SCROLLLOCK键
VK_ATTN     Attn键
VK_CRSEL     CrSel键
VK_EXSEL      ExSel键
VK_EREOF    EraseEOF键
VK_PLAY     Play键
VK_ZOOM     Zoom键
VK_OEM_CLEAR     Clear键

<转>MFC注册系统/全局热键。的更多相关文章

  1. Qt全局热键&lpar;windows篇&rpar;(使用RegisterHotKey和句柄进行注册)

    转载:http://www.cuteqt.com/blog/?p=2088 Qt对于系统底层,一直没有很好的支持,例如串口并口通信,还有我们经常都会用到的全局热键,等等.既然Qt可能出于某种原因,不对 ...

  2. 使用WinAPI全局热键注册和全局模拟按键

    一.全局热键注册 1.先引用DLL [System.Runtime.InteropServices.DllImport("user32.dll")] //导入WinAPI publ ...

  3. C&num; register global hotkey &comma;onekey 注册多个全局热键以及单个全局热键

    我们需要用非Hook的方法,来给我们的app 或者winform注册热键. 就像下面的 , 欧陆词典注册的一个热键F6一样, 在winform最小化的情况下,也能够全局响应热键. 这里使用系统API来 ...

  4. 用RegisterHotKey注册系统热键

    函数功能:该函数定义一个系统范围的热键. 函数原型:BOOL RegisterHotKey(HWND hWnd,int id,UINT fsModifiers,UINT vk): 参数: hWnd:接 ...

  5. Delphi全局热键的注册

    1.在窗启动时创建ATOM;(aatom:ATOM;定义在private中) then begin aatom:=GlobalAddAtom('ZWXhotKey'); end; ) then beg ...

  6. Qt全局热键&lpar;windows篇&rpar;

      Qt对于系统底层,一直没有很好的支持,例如串口并口通信,还有我们经常都会用到的全局热键,等等.既然Qt可能出于某种原因,不对这些进行支持,我们就只能自己写代码,调用系统相关的API了. 注意,这个 ...

  7. 第三方包jintellitype实现Java设置全局热键

    Java原生API并不支持为应用程序设置全局热键.要实现全局热键,需要用JNI方式实现,这就涉及到编写C/C++代码,这对于大多数不熟悉C /C++的javaer来说,有点困难.不过幸好,国外有人已经 ...

  8. VC添加全局热键的方法

    VC添加全局热键的方法 这个方法靠谱 http://blog.csdn.net/lujianfeiccie2009/article/details/7498704 VC添加全局热键的方法 标签: bu ...

  9. Java设置全局热键——第三方包jintellitype实现

    Java原生API并不支持为应用程序设置全局热键.要实现全局热键,需要用JNI方式实现,这就涉及到编写C/C++代码,这对于大多数不熟悉C/C++的javaer来说,有点困难.不过幸好,国外有人已经实 ...

随机推荐

  1. C&num; Base64解码 二进制输出

    具体的:Base64编码解码还需要学习 /// <summary> /// base64 解码Excel下载 /// </summary> /// <param name ...

  2. js自定义的简易滚动条

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  3. BluePrism初尝

    由于对工作的需求,现在开始接触了RPA. RPA是什么?第一次看见这个名词,我脑海里只有RPG的概念.一番查询,才知道是Robotic Process Automation的英文缩写,机器人流程自动化 ...

  4. android gradle tools 3&period;X中dependencies&comma; implementation和compile区别

    在3.0版本中,compile 指令被标注为过时方法,而新增了两个依赖指令,一个是implement 和api,这两个都可以进行依赖添加,但是有什么区别呢? api 指令 完全等同于compile指令 ...

  5. 使用tomcat插件运行java web项目

    1 新建javaweb项目 使用骨架创建javaweb项目,具体步骤不熟悉的参见上一篇文章[idea集成maven]. 2 添加依赖 <dependency> <groupId&gt ...

  6. Excel表格的导入导出

    Excel文件的组成: 01.一个Excel文件由N个Sheet组成的 02.一个Sheet由N个Row组成 03.一个Row由N个Cell组成 需求: 把内存中的数据 写入到指定的excel表格中! ...

  7. synchronized同步方法

    “非线程安全”其实会在多个线程对同一个对象中的实例变量进行并发访问的时候产生,产生的后果是脏读,也就是取到的数据是被更改过的.而“线程安全”就是以获得的实例变量的值是经过同步处理的,不会出现脏读的现象 ...

  8. pixi&period;js 微信小游戏 入手

    pixi是什么?一款h5游戏引擎 优点:简单简洁性能第一 缺点:大多数用的国产三大引擎,pixi资料少,工具少, 为什么学,装逼 用pixi开发小游戏行吗? 行.但要简单处理下 下载官网上的 weap ...

  9. MySQL 5&period;5 主从复制

    MySQL 5.5 主从复制的原理.过程   分为同步复制和异步复制,实际复制架构中大部分为异步复制.复制的基本过程如下:  1).Slave上面的IO进程连接上Master,并请求从指定日志文件的指 ...

  10. FMX有一套自己的消息处理机制。类似这样:

    unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Var ...