<转>MFC注册系统/全局热键。
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_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注册系统/全局热键。的更多相关文章
- C#Winform 注册使用全局快捷键详解
C#.NET Winform 注册使用全局快捷键详解 借助于全局快捷键,用户可以在任何地方操控程序,触发对应的功能.但 WinForms 框架并没有提供全局快捷键的功能.想要实现全局快捷键需要跟 Wi ...
- Qt全局热键(windows篇)(使用RegisterHotKey和句柄进行注册)
转载:http://www.cuteqt.com/blog/?p=2088 Qt对于系统底层,一直没有很好的支持,例如串口并口通信,还有我们经常都会用到的全局热键,等等.既然Qt可能出于某种原因,不对 ...
- 使用WinAPI全局热键注册和全局模拟按键
一.全局热键注册 1.先引用DLL [System.Runtime.InteropServices.DllImport("user32.dll")] //导入WinAPI publ ...
- C# register global hotkey ,onekey 注册多个全局热键以及单个全局热键
我们需要用非Hook的方法,来给我们的app 或者winform注册热键. 就像下面的 , 欧陆词典注册的一个热键F6一样, 在winform最小化的情况下,也能够全局响应热键. 这里使用系统API来 ...
- 用RegisterHotKey注册系统热键
函数功能:该函数定义一个系统范围的热键. 函数原型:BOOL RegisterHotKey(HWND hWnd,int id,UINT fsModifiers,UINT vk): 参数: hWnd:接 ...
- Delphi全局热键的注册
1.在窗启动时创建ATOM;(aatom:ATOM;定义在private中) then begin aatom:=GlobalAddAtom('ZWXhotKey'); end; ) then beg ...
- Qt全局热键(windows篇)
Qt对于系统底层,一直没有很好的支持,例如串口并口通信,还有我们经常都会用到的全局热键,等等.既然Qt可能出于某种原因,不对这些进行支持,我们就只能自己写代码,调用系统相关的API了. 注意,这个 ...
- 第三方包jintellitype实现Java设置全局热键
Java原生API并不支持为应用程序设置全局热键.要实现全局热键,需要用JNI方式实现,这就涉及到编写C/C++代码,这对于大多数不熟悉C /C++的javaer来说,有点困难.不过幸好,国外有人已经 ...
- VC添加全局热键的方法
VC添加全局热键的方法 这个方法靠谱 http://blog.csdn.net/lujianfeiccie2009/article/details/7498704 VC添加全局热键的方法 标签: bu ...
随机推荐
- [转载] Android动态加载Dex机制解析
本文转载自: http://blog.csdn.net/wy353208214/article/details/50859422 1.什么是类加载器? 类加载器(class loader)是 Java ...
- Brophp框架开发时连接数据库读取UTF8乱码的解决(转)
Brophp框架开发时连接数据库读取UTF8乱码的解决办法 (2012-09-15 10:41:22) 转载▼ 标签: 杂谈 it php 分类: 建站技术 Brophp框架开发时连接数据库读取UTF ...
- leveldb 学习笔记之VarInt
在leveldb在查找比较时的key里面保存key长度用的是VarInt,何为VarInt呢,就是变长的整数,每7bit代表一个数,第8bit代表是否还有下一个字节, 1. 比如小于128(一个字节以 ...
- eclipse项目自动发布到tomcat目录,缺文件。
eclipse项目自动发布到tomcat目录,缺文件. 解决方案: 项目--Properties-->Deployment Assembly-->Add--> Folder Add- ...
- 2016年&2017年
2016年在IBM已经工作4年了,从门户项目到今年的保险行业灾备项目,从之前的技术到现在的项目推进,由面对机器工作到,跟更多的人打交道,工作继续进行着,希望今天的项目尽早结束. 由于工作的原因,今年回 ...
- setValue和setObject的区别
在NSMutableDictionary的方法中有setValue forKey与setObject forKey,它们都可以用来设置某一个key值对应的value 1,setValue: forKe ...
- GDI+图形图像处理技术中Pen和Brush的简单使用和简单图形的绘制(C#)
1.Graphics Graphics对象是GDI+绘图表面,因此在Windows窗体应用程序中要使用GDI+创建绘图,必须要先创建Graphics.在给窗体注册一个Paint事件后,Graphics ...
- npm 加速方案
使用npm install 包,是见比较头疼的事情,比较慢,很难等,经过探索,还是发现有办法加速的,方法有两个,让我一一道来: 1. 在npm 后添加参数 --registry=... 指定镜像源地址 ...
- nginx php-fpm安装配置
nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端. nginx一般是把请求发fastcgi管理进程处理,fascgi管 ...
- iOS 8下使用xib/storybord AutoLayout导致的分割线问题
/*** iOS8 分割线问题 在xib/storyboard下面解决方案 http://qiita.com/yimajo/items/10f16629200f1beb7852 http://www. ...