2016-10-05 28 views

回答

0

经过一番挖掘,我可以想出如何做到这一点的唯一方法是调用一些本地方法来禁用ENABLE_LINE_INPUT。我不知道为什么这是有效的,因为文档ENABLE_LINE_INPUT说:

ReadFile或ReadConsole函数仅在读取回车符时才返回。如果禁用此模式,则当有一个或多个字符可用时,函数将返回。

这似乎并不相关。特别是因为ReadKey反正不会等到return

也许别人能解释得更好吗?

代码:

int mode = 0; 
GetConsoleMode(handle, ref mode); 
mode &= ~0x0002; // Disable ENABLE_LINE_INPUT. Lets ctrl-s work for some reason. 
SetConsoleMode(handle, mode);