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;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)