检查是否在Windows控制台中按下了键

时间:2011-06-25 17:08:53

标签: c++ console keystroke

  

可能重复:
  C++ console keyboard events

如果按下某个键,我希望Windows控制台程序执行某些操作,

之类的东西
while(1)
{
    ....
    if(the key 'o' is pressed down)
      ....
}

但我不知道在if声明中放什么。如何检查按键“o”是否被按下?

我正在使用Windows 7 64位和Visual Studio Professional 2008。

2 个答案:

答案 0 :(得分:1)

您应该在应用程序中注册关键事件(假设这是一个Windows GUI应用程序),而不是忙于轮询按键,并检查您感兴趣的键。

如果您实际上正在制作控制台应用,请参阅此处:C++ console keyboard events

答案 1 :(得分:0)

您可以使用std::cin.get(),也可以使用windows.h GetAsyncKeyState,具体取决于您想要做什么。

如果你想要更低级别的东西,请查看来自WinAPI的钩子和事件。