每次执行命令时,停止打开新的命令窗口

本文关键字:命令 窗口 执行 | 更新日期: 2023-09-27 18:13:13

我编写了一个c#工具,它将通过在命令提示符中多次运行命令来启动应用程序,一个接一个。为我做这件事的代码如下:

System.Diagnostics.Process.Start("CMD.exe", strCmdText);

我在循环中有了这个,一切都很好。然而,每次执行它都会打开一个新的命令窗口,这并不理想。是否有一种方法可以在命令执行后关闭命令窗口,或者更好的是,根本不打开命令窗口?任何帮助都非常感谢!!

每次执行命令时,停止打开新的命令窗口

是的,您必须使用ProcessStartInfo类来完成此操作:

Process.Start(
    new ProcessStartInfo("CMD.exe", strCmdText) 
        { 
            CreateNoWindow = true 
        });

使用ProcessStartInfo启动进程(Start有一个占用ProcessStartInfo的过载)

设置以下属性:

var psi = new ProcessStartInfo("cmd.exe", strCmdText);
psi.CreateNoWindow = true;
psi.UseShellExecute = false;
Process.Start(psi);

ProcessStartInfo允许你指定没有窗口

using (var p = new Process())
{
    p.StartInfo = new ProcessStartInfo
    {
        FileName = "CMD.exe",
        Arguments = strCmdText,
        CreateNoWindow = true,
        UseShellExecute = false
    };
    p.Start();
    p.WaitForExit();
    p.Close();
}