vc 判断哪个按键 被按下 消息 按键 状态
测试Numlock 是否是亮的
环境控制台程序;
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <windows.h>
bool CrnGetNumLockState();
int _tmain(int argc, _TCHAR* argv[])
{
if(CrnGetNumLockState())
printf("NUM-Lock is light\n");
else
printf("Num-Lock is light-off\n");
getch();
return 0;
}
bool CrnGetNumLockState()
{
BYTE btKeyState[256];
GetKeyboardState((LPBYTE)&btKeyState);
return btKeyState[VK_NUMLOCK] & 1;
}
判断哪个按键被按下
MFC
BOOL CDemoDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
// 假如截获键盘按下消息,就分析按下的哪个键,然后给相应的按钮发送消息
if(pMsg->message==WM_KEYDOWN)
{
UINT iKey=(UINT)pMsg->wParam;
switch(iKey)
{
case VK_NUMPAD0:
{
HWND hwnd = ::GetDlgItem(m_hWnd,IDC_EDIT_IN);
::SetWindowText(hwnd, "0");
CString key = "VK_NUMPAD0";
KeyRun(key);
::SetFocus(m_hWnd);
}
break;
case VK_NUMPAD1:
{
HWND hwnd = ::GetDlgItem(m_hWnd,IDC_EDIT_IN);
::SetWindowText(hwnd, "1");
CString key = "VK_NUMPAD1";
KeyRun(key);
::SetFocus(m_hWnd);
}
break;
case VK_NUMPAD2:
{
HWND hwnd = ::GetDlgItem(m_hWnd,IDC_EDIT_IN);
::SetWindowText(hwnd, "2");
CString key = "VK_NUMPAD2";
KeyRun(key);
::SetFocus(m_hWnd);
}
break;
case VK_NUMPAD3:
{
HWND hwnd = ::GetDlgItem(m_hWnd,IDC_EDIT_IN);
::SetWindowText(hwnd, "3");
CString key = "VK_NUMPAD3";
KeyRun(key);
::SetFocus(m_hWnd);
}
break;
case VK_NUMPAD4:
{
HWND hwnd = ::GetDlgItem(m_hWnd,IDC_EDIT_IN);
::SetWindowText(hwnd, "4");
CString key = "VK_NUMPAD4";
KeyRun(key);
::SetFocus(m_hWnd);
}
break;
case VK_NUMPAD5:
{
HWND hwnd = ::GetDlgItem(m_hWnd,IDC_EDIT_IN);
::SetWindowText(hwnd, "5");
CString key = "VK_NUMPAD5";
KeyRun(key);
::SetFocus(m_hWnd);
}
break;
case VK_NUMPAD6:
{
HWND hwnd = ::GetDlgItem(m_hWnd,IDC_EDIT_IN);
::SetWindowText(hwnd, "6");
CString key = "VK_NUMPAD6";
KeyRun(key);
::SetFocus(m_hWnd);
}
break;
case VK_NUMPAD7:
{
HWND hwnd = ::GetDlgItem(m_hWnd,IDC_EDIT_IN);
::SetWindowText(hwnd, "7");
CString key = "VK_NUMPAD7";
KeyRun(key);
::SetFocus(m_hWnd);
}
break;
case VK_NUMPAD8:
{
HWND hwnd = ::GetDlgItem(m_hWnd,IDC_EDIT_IN);
::SetWindowText(hwnd, "8");
CString key = "VK_NUMPAD8";
KeyRun(key);
::SetFocus(m_hWnd);
}
break;
case VK_NUMPAD9:
{
HWND hwnd = ::GetDlgItem(m_hWnd,IDC_EDIT_IN);
::SetWindowText(hwnd, "9");
CString key = "VK_NUMPAD9";
KeyRun(key);
::SetFocus(m_hWnd);
}
break;
default:
break;
}
}
return CDialog::PreTranslateMessage(pMsg);
}
vc 判断哪个按键 被按下 消息 按键 状态的更多相关文章
- [置顶] Android事件—单选按键和下拉按键
在平常的开发中单选按键和下拉按键是非常常用的2个点击事件.首先介绍下单选按键 1:单选按键,单选的主键是radiogroup 这个主键也是很重要的 首先介绍下主键的布局 <?xml versio ...
- JavaScript判断鼠标滑轮是向下还是向上滚动
我们常用的就是鼠标,鼠标中键一般都用于滑动网页,但是网页中很多很炫的效果,使用鼠标滑轮操作更好. 当然对于手机就没有这个设备了,所以就不用考虑手机端的实现方法,手机端有触摸滑动事件. 使用JavaSc ...
- 滚动条大于120px时,判断pc端的情况下,导航条固定定位
//滚动条大于120px时,判断pc端的情况下,导航条固定定位 $(window).scroll(function(){ var viewWidth=$(document).width() var ...
- JavaScript onkeydown事件入门实例(键盘某个按键被按下)
JavaScript onkeydown 事件 用户按下一个键盘按键时会触发 onkeydown 事件.与 onkeypress事件不同的是,onkeydown 事件是响应任意键按下的处理(包括功能键 ...
- linux下获取按键响应事件【转】
本文转载自:https://my.oschina.net/u/157503/blog/91548 1.问题 通过一个死循环将读取键盘对应的设备文件将触发键盘事件在屏幕上打印出来,按esc退出程序 代码 ...
- 监控Mysql主从环境下Slave延迟状态的操作记录
在MySQL主从环境下,通常会根据Seconds_Behind_Master的值来判断slave的延迟状态,这么做在大部分情况下尚可接受,但其实是并不够准确的.对于Slave延迟状态的监控,应该考虑多 ...
- rabbitmq 消息的状态转换
tutorial:http://www.rabbitmq.com/tutorials/tutorial-two-java.html 这里解释接收消息端关于 acknowledge和prefetch的设 ...
- Android中判断网络连接是否可用及监控网络状态
Android中判断网络连接是否可用及监控网络状态 作者: 字体:[增加 减小] 类型:转载 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限,接下来详细介绍Android ...
- 消息队列状态:struct msqid_ds
Linux的消息队列(queue)实质上是一个链表, 它有消息队列标识符(queue ID). msgget创建一个新队列或打开一个存在的队列; msgsnd向队列末端添加一条新消息; msgrcv从 ...
随机推荐
- WPF拖到、移动控件
只需2个事件和一个point变量即可: Point mouse_offset = , ); void TC_MouseLeftButtonDown(object sender, MouseButton ...
- MySQL指定mysqld启动时所加载的配置文件
mysqld.exe --init-file=file_name 以下为配置文件参数优化和中文详解: [client]port = 3306socket = /tmp/mysql.sock [mysq ...
- MySQL数据库MyISAM和InnoDB存储引擎的比较
MySQL有多种存储引擎,MyISAM和InnoDB是其中常用的两种.这里介绍关于这两种引擎的一些基本概念(非深入介绍). MyISAM是MySQL的默认存储引擎,基于传统的ISAM类型,支持全文搜索 ...
- php缓存数组到文件
php缓存数组到文件 static function getIDs($kemuid) { $cachefile="cache/" . $kemuid . ".cache& ...
- Chrome离线下载地址
每当chrome有更新之后,都有不少用户想要下载离线版的安装文件,但苦于找不到下载地址而发愁,其实这个问题很简单,下面我来分享一下方法(仅针对Windows操作系统): 对于稳定版(正式版)Chrom ...
- angularjs中$http、$location、$watch及双向数据绑定学习实现简单登陆验证
使用$http.$location.$watch及双向数据绑定等实现简单的用户登陆验证,记录备忘: 1.$http模拟从后台获取json格式的数据: 2.$watch实时监控数据变化: 3.$loca ...
- (VS TFS) Adding existing project to solution in TFS.
正常的情况话,直接加入project,然后选择"Source control" -> “Add selected projects to source control.... ...
- 内存修改mfc
vc++6.0,内涵图
- SDS查看部署在集成TOMCAT服务器中的项目目录结构
- CMake使用教程
转自 RichardXG 原文 CMake使用教程 CMake是一个比make更高级的编译配置工具,它可以根据不同平台.不同的编译器,生成相应的Makefile或者vcproj项目. 通过编写CMak ...