C语言在Windows环境自己实现一个无回显的getch

C语言在Windows环境自己实现一个无回显的getch,第1张

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;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/3002230.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-27
下一篇 2022-09-27

发表评论

登录后才能评论

评论列表(0条)

保存