测试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 判断哪个按键 被按下 消息 按键 状态的更多相关文章

  1. [置顶] Android事件—单选按键和下拉按键

    在平常的开发中单选按键和下拉按键是非常常用的2个点击事件.首先介绍下单选按键 1:单选按键,单选的主键是radiogroup 这个主键也是很重要的 首先介绍下主键的布局 <?xml versio ...

  2. JavaScript判断鼠标滑轮是向下还是向上滚动

    我们常用的就是鼠标,鼠标中键一般都用于滑动网页,但是网页中很多很炫的效果,使用鼠标滑轮操作更好. 当然对于手机就没有这个设备了,所以就不用考虑手机端的实现方法,手机端有触摸滑动事件. 使用JavaSc ...

  3. 滚动条大于120px时,判断pc端的情况下,导航条固定定位

      //滚动条大于120px时,判断pc端的情况下,导航条固定定位 $(window).scroll(function(){ var viewWidth=$(document).width() var ...

  4. JavaScript onkeydown事件入门实例(键盘某个按键被按下)

    JavaScript onkeydown 事件 用户按下一个键盘按键时会触发 onkeydown 事件.与 onkeypress事件不同的是,onkeydown 事件是响应任意键按下的处理(包括功能键 ...

  5. linux下获取按键响应事件【转】

    本文转载自:https://my.oschina.net/u/157503/blog/91548 1.问题 通过一个死循环将读取键盘对应的设备文件将触发键盘事件在屏幕上打印出来,按esc退出程序 代码 ...

  6. 监控Mysql主从环境下Slave延迟状态的操作记录

    在MySQL主从环境下,通常会根据Seconds_Behind_Master的值来判断slave的延迟状态,这么做在大部分情况下尚可接受,但其实是并不够准确的.对于Slave延迟状态的监控,应该考虑多 ...

  7. rabbitmq 消息的状态转换

    tutorial:http://www.rabbitmq.com/tutorials/tutorial-two-java.html 这里解释接收消息端关于 acknowledge和prefetch的设 ...

  8. Android中判断网络连接是否可用及监控网络状态

    Android中判断网络连接是否可用及监控网络状态 作者: 字体:[增加 减小] 类型:转载 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限,接下来详细介绍Android ...

  9. 消息队列状态:struct msqid_ds

    Linux的消息队列(queue)实质上是一个链表, 它有消息队列标识符(queue ID). msgget创建一个新队列或打开一个存在的队列; msgsnd向队列末端添加一条新消息; msgrcv从 ...

随机推荐

  1. 计算阶乘n!末尾0的个数

    一.问题描述 给定一个正整数n,请计算n的阶乘n!末尾所含有“0”的个数.例如: 5!=120,其末尾所含有的“0”的个数为1: 10!= 3628800,其末尾所含有的“0”的个数为2: 20!= ...

  2. C# .net 最大HTTP连接数

    说明:本WCF程序收到请求时会对外HTTP请求. 桌面系统默认是2个,如果是SERVER,默认是10个,超过10个就会排队,当有大量向外请求时,很多对外请求就会超时.排队的HTTP请求超时仍在计时. ...

  3. == Got TLE on OJ? Here is the solution! ==

    As a solo warrior in OJ, I spent about nearly 50% of my time on tackling TLE - that is innumerous ho ...

  4. 剑指offer系列28--字符流中第一个不重复的字符

    [题目]请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符”go”时,第一个只出现一次的字符是”g”.当从该字符流中读出前六个字符“google”时,第一个只出现 ...

  5. Erlang库 -- 有意思的库汇总

    抄自这里 首先,库存在的目的大致可分为:1.提供便利2.尽可能解决一些痛点 首先,我们先明确一下Erlang编程语言的一些痛点(伪痛点):1,单进程问题Erlang虚拟机属于抢占式调度,抢占式调度有很 ...

  6. Android权限之sharedUserId和签名

    转自:http://blog.csdn.net/hmg25/article/details/6447067 最近在做个东西,巧合碰到了sharedUserId的问题,所以收集了一些资料,存存档备份. ...

  7. tarjan算法 POJ3177-Redundant Paths

    参考资料传送门 http://blog.csdn.net/lyy289065406/article/details/6762370 http://blog.csdn.net/lyy289065406/ ...

  8. 黄聪:wordpress在IIS8中设置默认编码(windows2012服务器)

    web.config中配置 <?xml version="1.0" encoding="UTF-8"?> <configuration> ...

  9. [JS]学习Javascript闭包(Closure)

    转自:阮一峰 闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现. 下面就是我的学习笔记,对于Javascript初学者应该是很有用的. 一.变量的 ...

  10. set_union的几个例子

    获得两个集合的并集.两个输入序列须保证已排好序. 数组用的时候 // set_union example #include <iostream> #include <algorith ...