|
发表于 2014-12-10 21:54:42
|
显示全部楼层
本帖最后由 小山童鞋 于 2014-12-10 22:08 编辑
先用kbhit()函数(该函数需要包含conio.h文件)检测键盘是否被按下。
如果按下了,kbhit()返回值为1。这时候在用_getch()函数获得按下的键盘值(这个具体自己网上查)。
你可以创建一个线程来获取键盘的动态。给你举个例子吧。
DWORD WINAPI get_scanf( void* lpParameter)//扫描键盘输入状况。次函数为线程函数,可通过CreateThread()来创建该线程
{
int ch = 0;
while(1)
{
Sleep(50); //释放CPU
ch = kbhit(); //检查键盘是否按下
if(ch == 1)
ch = _getch();//如果键盘被按下,则读取该值
switch(ch)//此时的ch值为键盘值,键盘值自己网上查表。
{
case 87: kb.KeyB_up = 1;break; //kb为自定义结构体变量,不用管它,只是事例而已。
case 83: kb.KeyB_down = 1;break;
case 65: kb.KeyB_left = 1;break;
case 68: kb.KeyB_right = 1;break;
default :break;
}
}
}
这段代码是我之前写的一个程序来检测键盘输入的,我是专门开创了一个线程来接收键盘输入的,如果线程有什么不懂的话在问。。
|
|