#include <windows.h>
#include <conio.h>
#include <stdint.h>
int main(void)
{
int32_t keyVal = 0;
uint32_t dlyCnt = 0;
for(;;)
{
//有键按下时为真,非阻塞
while(!_kbhit())
{
Sleep(1);
if((++dlyCnt) >= 1000)
{
break;
}
}
if(dlyCnt < 1000)
{
keyVal = _getch();
//部分按键按下时,第一次的值为 224(未知符号)。第二次的值为键值
if(keyVal == 224)
{
keyVal = _getch();
}
printf("keyVal:%d,%c\n",keyVal,keyVal);
}
dlyCnt = 0;
}
}