gpt4 book ai didi

c# - 如何防止在 .NET 中使用 Process 类调用的 DOS/Console 应用程序在完成后自动关闭命令提示符?

转载 作者:行者123 更新时间:2023-11-30 21:13:11 24 4
gpt4 key购买 nike

在我的 Winform 应用程序中,我需要调用 DOS 或控制台应用程序,我使用以下代码执行此操作:

    Process proc = new Process();
proc.StartInfo.FileName = lLocation.Text+"\\pywin32.exe";
proc.StartInfo.Arguments = lLocation.Text+"\\data.pos";
proc.Start();

问题是应用程序在屏幕上输出结果后,命令提示符立即关闭,所以我无法读取该应用程序的结果。

一个解决方案可能是在最后使用“暂停”命令创建 .bat 文件并在 Process 类中使用它,但我想知道是否还有其他方法?

最佳答案

您可以只读取过程的输出:

Process proc = new Process();

proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.FileName = lLocation.Text+"\\pywin32.exe";
proc.StartInfo.Arguments = lLocation.Text+"\\data.pos";
proc.Start();

string output = proc.StandardOutput.ReadToEnd();
proc.WaitForExit();

然后对输出做任何你想做的事情。

关于c# - 如何防止在 .NET 中使用 Process 类调用的 DOS/Console 应用程序在完成后自动关闭命令提示符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6973872/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com