zoukankan      html  css  js  c++  java
  • 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 ");
    else
       printf("Num-Lock is light-off ");
    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);
    }

  • 相关阅读:
    使用RestTemplate进行服务调用的几种方式
    springmvc学习指南 之---第32篇 mybatis 嵌套的处理
    springmvc学习指南 之---第31篇 使用墨客进行测试报错
    springmvc学习指南 之---第30篇 异常的全局处理
    Effective Java 阅读笔记--之(一) 建造者模式(Builder)
    使用mybatis-generator.xml 生成PO 对象
    springmvc学习指南 之---第29篇 springmvc 返回json对象, 不想创建类的前提下
    springmvc学习指南 之---第28篇 springmvc的controller 如何解析视图view? 如何解析json,html,jsp?
    springmvc学习指南 之---第27篇 spring如何实现servlet3.0无web.xml 配置servlet对象的
    springmvc学习指南 之---第26篇 在idea中如何debug跟踪到tomcat内部代码
  • 原文地址:https://www.cnblogs.com/sharecenter/p/5620995.html
Copyright © 2011-2022 走看看