我正在制作一个控制台应用程序。如果我按下键,它会从菜单开始; 1.菜单变为另一个菜单屏幕。但请注意,没有我按'Enter'。这意味着我的1仍然存在,这在菜单中进一步下降时显然很糟糕。
如何清除输入命令行?
使用的功能。
if(GetAsyncKeyState('1'))
{
IEventDataPtr gameState(GCC_NEW EvtData_Set_Game_State("PREGAMESTATE"));
em->VTriggerEvent(gameState);
//Enter line clearing code.
}
答案 0 :(得分:0)
函数GetAsyncKeyState
为您提供“密钥的当前状态”。因此,当键盘驱动程序收到“按下1键”直到键盘驱动程序收到“1已释放的键”时,它将返回true。
如果您想一次获得一个按键,我会认真建议您使用ReadConsoleInput
。
另一种方法是使用这样的东西:
while(GetAsyncKeyState('1'))
{
// Do nothing.
}
等待释放该密钥。