恢复键盘输入/禁用cmd提示重定向

时间:2018-02-04 23:37:42

标签: c# input io-redirection

我正在开发一个C#/ Visual Studio项目,该项目从文件中获取输入,用它做一些事情,然后给出一个信息启动。我遇到的问题来自于想要将信息保留在屏幕上/保持程序无限期打开。通常我会使用一个简单的Console.ReadLine()或ReadKey(),但是它们都不能用于重定向(程序<属性/命令行参数下的文件)。

我尝试过使用各种控制台命令,但似乎都没有关闭文件重定向并恢复"正常"输入。使用命令提示符重定向是不可能的?

1 个答案:

答案 0 :(得分:0)

您的软件只有一个输入流,并且该输入流连接到命令行窗口(如果没有,则按需打开,然后在程序完成后也会关闭)或文件。您的程序无法控制此输入流,这由Windows(命令shell主机窗口)管理。

您可以手动打开cmd.exe并在那里启动程序,然后窗口将保持打开状态,或者使用cmd.exe /K "program.exe < file"一步完成此操作,或者重写软件以允许它自己打开文件具有某个参数,例如program --in file