你确定不是在MFC中?
消息循环中加入
WM_KEYDONW //键盘按下后状态
WM_KEYUP//放开后状态
方法有很多,我用一个状态检测方法来调试。(其他的可以自己参考)
所谓的状态检测就是当按下某键时条件成真,放开后成假。一直按住不放达到循环效果。
===============================================
bool keys[256]; // 键盘数组
//写在消息循环中的:
case WM_KEYDOWN:
{
keys[wParam] = TRUE//当某键按下后成真
return 0;
}
case WM_KEYUP:
{
keys[wParam] = FALSE;//放开后成假
return 0;
}
到这一切就结束了,注意
LRESULT CALLBACK WndProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
这里用wParam定义,它可以捕捉到很多消息状态。
键盘消息是其中之一,用虚拟键值来表示,使用的时候:
if(keys[VK_ESCAPE])//当ESC被按下后
MessageBox(NULL,"消息框","ESC被按下",0);