在我的应用程序中,我使用无限循环显示图像。我想在按下预定义键时打破while循环。我尝试过使用GetAsyncKeyState()
if (GetAsyncKeyState(VK_ESCAPE))
{
break;
printf("Exiting Loop\n");
}
但这不起作用!!
我使用的第二种方法是使用getch()方法获取密钥的ascii值。所以像这样,
# include conio.h // Required header file
int keyVal;
keyVal = getch();
if (keyVal == 27)
{
break;
}
但是,这种方法使我的应用程序无响应。
有关如何使用键盘事件或鼠标事件打破while循环的任何想法?它可以是任何关键。
提前致谢。
答案 0 :(得分:1)
如果你有conio.h
,你可以用非阻塞的方式测试按键
#include <stdio.h>
#include <conio.h>
int main(void)
{
int k = 0;
while (k != 27) {
// do your stuff
// ...
// test for keypress
if(_kbhit()) {
k = _getch();
}
}
printf("Escaped\n");
return 0;
}