|
读取键盘信息时可以是这样的代码:
.....
LPDirectInputDevice8 lpdikey = NULL;
char keystate[256];
.....
lpdikey->GetDeviceState(sizeof(keystate),keystate);
if(keystate[DIK_ESCAPE])
PostMessage(hwnd,WM_CLOSE,0,0);
.....
但是我看一本书上是这样封装的:
#define DIKEYDOWN(data,n) (data[n] & 0x80)
我看了一下keystate[DIK_ESCAPE]的值就是0X80
为什么keystate[DIK_ESCAPE]会等于0X80呢?即使等于0X80为什么还要与0X80再做"&"运算呢?
请帮小弟解决一下....谢谢了.... |
|