TCHAR getch() {
DWORD mode, cc;
HANDLE h = GetStdHandle(STD_INPUT_HANDLE);//获取标准句柄
if (h == NULL)return -1;
GetConsoleMode(h, &mode);//,检索主机输入缓冲区的当前输入模式或控制台屏幕缓冲区的当前输出模式 mode是指向接收指定缓冲区当前模式的变量的指针
SetConsoleMode(h, mode&~(ENABLEDUPLEX | ENABLE_LINE_INPUT));//控制台的输入需要显示和需要回撤去掉
TCHAR c = 0;
ReadConsole(h, &c, 1, &cc, NULL);//通过句柄,从控制台读一个字符,给c
SetConsoleMode(h, mode);//控制台的输入需要显示和需要回撤加回来,h是jubing,mode是缓冲区
return c;
}
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交