控制台获取密钥按w / o windows消息c ++

时间:2009-08-16 16:57:09

标签: c++ console keypress

有没有办法在不使用Windows消息或std :: cin流的情况下在控制台中输入最后一个按键?我听说标准库中有一个函数。解决方案应该尽可能地便携。感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

conio.h但它在技术上并不标准。在Linux上,我的第一个Google点击建议termios.h

答案 1 :(得分:0)

不是真正可移植,但您可以使用GetAsyncKeyState访问当前的键状态,甚至可以从Windows下的控制台应用程序访问。 更具技术性,特别是Windows特定的,将使用SetWindowsHookEx将键盘挂钩到系统中的回调中,该回调只存储最后按下的键。

但是你的基本问题:控制台+便携性 - 似乎暗示cin是你最好的选择 - 你需要cin不提供什么?

答案 2 :(得分:0)

您是否考虑使用像pdcurses这样的curses库?这是我所知道的唯一可以进行控制台管理的跨平台库。