c++中键盘的单个按键的刷新

运行环境Vs2013

为了实现小游戏中按键的使用。

在游戏中常常把主要的行为放在while()中所以常用的键盘输入函数就不再使用,因为有其暂停作用。而这在游戏中是不允许的。

而且游戏使用的往往是少数几个键,所以若能找到一种能判断某键是否按下的算法,那么一样能解决问题。

// 测试3.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<iostream>

#include<windows.h>

using namespace std;
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1 : 0)  //三目运算符,

void fun(char c)
{
 if (KEY_DOWN(c)){ cout << "字符:" << c << endl; Sleep(1000); }
 else{ cout << "未检测到!" << endl; }
}

int _tmain(int argc, _TCHAR* argv[])
{
 while (true)
 {
  fun(‘A‘);
  Sleep(7);    
 }
 return 0;
}

原文地址:https://www.cnblogs.com/damaoranran/p/8537010.html

时间: 2024-10-13 03:12:08

c++中键盘的单个按键的刷新的相关文章

Android中修改键盘布局或者按键映射时的注意点

在Android中修改键盘布局或者按键映射时,处理在inputdevice中修改上报的SCANCODE之外,还需要修改相应的kl文件. 具体原理: 当一个inputdevice的driver将按键的SCANCODE上报给EventHub之后,EventHub还会用SCANCODE去获取具体的Keycode,这一步就是根据相应的inputdevice的kl文件中的配置得到的,所以如果仅仅上报SCANCODE,不修改kl文件,则会导致SCANCODE是正确的,但是找不到相应的mapkey,从而上报的

WinForm中快捷键与组合按键的设置方法

新建一个空白窗体 每个窗体都有这样3个事件:KeyDown.KeyPress.KeyUp,KeyDown和KeyPress都是按键按下事件,但KeyDown用的是KeyCode跟键盘各个按键相对应,它对应Keys枚举,用起来比较方便:而KeyPress用的是KeyChar,这个就要找ASC II编码了,不方便.KeyUp是按键弹起事件,不常用,因此我们使用KeyDown事件来设置窗体的快捷键,双击该事件后的空白生成代码,首先我们设置单个按键,让它按下F11最大化,再次按下还原,在事件中加入如下代

WinAPI: GetKeyNameText - 根据键盘消息获取按键名称

unit Unit1; interface uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs; type  TForm1 = class(TForm)    procedure FormCreate(Sender: TObject);    procedure MyMsg(var msg: TWMKeyDown); message WM_KEYDOWN;  end;

android基础之SurfaceView视图中对画布的3种刷新方法

//MysurfaceView.java package com.example.surfaceview; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.view.MotionEvent; import android.view.SurfaceHolder; im

ArcGIS中如何导出单个矢量要素图形

原文:ArcGIS中如何导出单个矢量要素图形 在ARCGIS中载入了一张含有省界的中国地图,是SHP文件.现在我只想要其中一块地区的,实现方法如下: 加入到ArcGIS后,右击图层,打开属性表(attribute table),点击每一行开头,此行变蓝,同时图中此区域高亮显示,可以找到你想得到的区域,若不止一块,可用shift 或 ctrl 多选,选中后可关掉属性表,右击图层--export---data--命名成你想要的shp文件,OK.

Horizon View 6.0之单个桌面的刷新

单个桌面的刷新 1. 选择需要进行刷新的桌面,并双击该桌面 2. 选择"Refresh" 3. 设置用户注销的方式 4. 显示该桌面刷新的相关信息,选择"Finish"开始该桌面的刷新的动作.

矩阵按键转化为普通单个按键

没有多大的技术含量,就是将用按键少的矩阵按键转化为普通按键,减少IO口的使用,一个按键一个作用,按键松开则按键结束. 转化程序: /********************************Copyright************************************** **----------------------------File information-------------------------- ** File name :keyboard_to_key.v

Python3 Tkinter基础 Frame bind 绑定敲击键盘事件 将按键打印到Shell中

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: from tkinter import * root=Tk() #创建一个框架,在这个框架中响应事件 frame=Frame(root, width=200,height=200, background='green') def callBack(event):

VB中键盘每个按键所对应的具体数值是?

键码常数 值 描述 vbKeyLButton 1 鼠标左键 vbKeyRButton 2 鼠标右键 vbKeyCancel 3 CANCEL 键 vbKeyMButton 4 鼠标中键 vbKeyBack 8 BACKSPACE 键 vbKeyTab 9 TAB 键 vbKeyClear 12 CLEAR 键 vbKeyReturn 13 ENTER 键 vbKeyShift 16 SHIFT 键 vbKeyControl 17 CTRL 键 vbKeyMenu 18 菜单键 vbKeyPaus