且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

在 Windows 窗体中嵌入 DOS 控制台

更新时间:2023-12-06 11:10:40

可以使用 Process 类重定向控制台/dos 应用程序的标准输入/输出.它可能看起来像这样:

It's possible to redirect the standard input/output of console/dos applications using the Process class. It might look something like this:

var processStartInfo = new ProcessStartInfo("someoldapp.exe", "-p someparameters");

processStartInfo.UseShellExecute = false;
processStartInfo.ErrorDialog = false;

processStartInfo.RedirectStandardError = true;
processStartInfo.RedirectStandardInput = true;
processStartInfo.RedirectStandardOutput = true;
processStartInfo.CreateNoWindow = true;

Process process = new Process();
process.StartInfo = processStartInfo;
bool processStarted = process.Start();

StreamWriter inputWriter = process.StandardInput;
StreamReader outputReader = process.StandardOutput;
StreamReader errorReader = process.StandardError;
process.WaitForExit();

您现在可以使用流与应用程序交互.通过将 processStartInfo.CreateNoWindow 设置为 true,原始应用程序将被隐藏.

You can now use the streams to interact with the application. By setting processStartInfo.CreateNoWindow to true the original application will be hidden.

我希望这会有所帮助.