C语言获取按键信息函数

Python016

C语言获取按键信息函数,第1张

这个程序应该满足你的要求吧。

#include <stdio.h>

#include <conio.h>

int main(void)

{

while (1)

{

if (!kbhit())

printf("1")

else

{

char c = getch()

if (c == 'a')

{

putchar('2')

getch()

}

}

}

return 0

}

添加WM_KEYDOWN函数。在函数体中case WM_KEYDOWN: if (wParam==VK_LEFT)//方向键左 { rect1.left-=10rect1.right-=10InvalidateRect (hWnd,NULL,TRUE)} else if (wParam==VK_RIGHT)//方向键右 { rect1.left+=10rect1.right+=10InvalidateRect (hWnd,NULL,TRUE)} else if (wParam==VK_UP)//方向键上 { rect1.top-=10rect1.bottom-=10InvalidateRect (hWnd,NULL,TRUE)} else if (wParam==VK_DOWN)//方向键下 { rect1.top+=10rect1.bottom+=10InvalidateRect (hWnd,NULL,TRUE)} else if (wParam==VK_PRIOR)//PG UP { rect1.top-=10rect1.bottom-=10InvalidateRect (hWnd,NULL,TRUE)} else if (wParam==VK_NEXT)//PG DN { rect1.top+=10rect1.bottom+=10InvalidateRect (hWnd,NULL,TRUE)} else if (wParam==VK_HOME)//HOME { rect1.left-=10rect1.right-=10InvalidateRect (hWnd,NULL,TRUE)} else if (wParam==VK_END)//END { rect1.left+=10rect1.right+=10InvalidateRect (hWnd,NULL,TRUE)} break

k=k&0xff?0x00ff:k>>8其实就是

if(k&0xff) {

k=0x00ff

}else {

k=k>>8

}的简写。

其实0xff和0x00ff是一样的,都表示同一个十六进制的值。

书上这么写,没有错;至于为什么,就不好说了。

可能是让你多学点知识,也可能是现在很多书其实在编写时并不是很认真的。毕竟尽信书不如无书!

后面的k>>8是把0xff的值右移8位,达到计算的目的(具体什么目的要看具体内容)