我正在编写一个像BASH一样的命令解释器,后跟换行符的\
意味着输入流的延续;我怎样才能在Win32中实现它?
如果我使用ENABLE_LINE_INPUT
的控制台模式,则用户无法按退格以返回上一行; Windows阻止他这样做。但是如果我没有设置ENABLE_LINE_INPUT
,那么我必须手动重新定位游标,这是相当繁琐的,因为(1)用户可能已经重定向输入流,并且(2)它可能倾向于竞争条件,如果可以,我宁愿让Windows做。
有任何方法可以使用我的换行符吗?
修改
如果这需要未记录的CSRSS端口请求,那么我仍然感兴趣!
答案 0 :(得分:0)
假设您希望在窗口中运行它,就像命令提示符默认情况下一样,而不是全屏,您可以创建一个带有大文本框的GUI应用程序。用户可以键入文本框,您可以解析输入的内容,并输出到同一个框(有效地模拟Win32控制台)。
这样,您想要为控制台的行为设置的规则完全取决于您。
我可能会错误地说这个,但我相信从XP开始的Win32控制台就像这样工作,它只是在stdout上监听输出;不应该有任何理由你不能这样做。
希望这有用。