我可以知道在按Enter键之前按下了哪个键盘键。有没有办法在c ++中捕获这样的按键事件?请提供一个简短的例子。 我在Windows 32bit上使用VC ++。
答案 0 :(得分:3)
// See <url: http://en.wikipedia.org/wiki/Conio.h>.
#include <iostream>
#include <conio.h> // ! Non-standard, but de facto std. on Windows.
int main()
{
using namespace std;
for( ;; )
{
cout << "OK, should this program stop now..." << endl;
cout << "Press Y for Yes or N for No: " << flush;
for( bool answered = false; !answered; )
{
char const ch = getch(); // From [conio.h].
switch( ch )
{
case 'y':
case 'Y':
cout << "<- Yes" << endl; // Input echo.
cout << "Bye!" << endl;
return 0;
case 'n':
case 'N':
cout << "<- No" << endl; // Input echo.
cout << endl;
answered = true;
default:
;
}
}
}
}
对于GUI程序有点不同。
注意:如果需要,您也可以一直到Windows API,但我建议您一步一步,首先探索conio.h
功能。
干杯&amp;第h。,