Win32控制台 - 退格到最后一行

时间:2011-03-28 15:33:03

标签: winapi console console-application

我正在编写一个像BASH一样的命令解释器,后跟换行符的\意味着输入流的延续;我怎样才能在Win32中实现它?

如果我使用ENABLE_LINE_INPUT的控制台模式,则用户无法按退格以返回上一行; Windows阻止他这样做。但是如果我没有设置ENABLE_LINE_INPUT,那么我必须手动重新定位游标,这是相当繁琐的,因为(1)用户可能已经重定向输入流,并且(2)它可能倾向于竞争条件,如果可以,我宁愿让Windows做。

有任何方法可以使用我的换行符吗?


修改

如果这需要未记录的CSRSS端口请求,那么我仍然感兴趣!

1 个答案:

答案 0 :(得分:0)

假设您希望在窗口中运行它,就像命令提示符默认情况下一样,而不是全屏,您可以创建一个带有大文本框的GUI应用程序。用户可以键入文本框,您可以解析输入的内容,并输出到同一个框(有效地模拟Win32控制台)。

这样,您想要为控制台的行为设置的规则完全取决于您。

我可能会错误地说这个,但我相信从XP开始的Win32控制台就像这样工作,它只是在stdout上监听输出;不应该有任何理由你不能这样做。

希望这有用。