繁体   English   中英

从命令行运行7zip的C#应用​​程序-如何从打开命令行窗口停止7zip?

[英]C# application running 7zip from command line - How to stop 7zip from opening command line windows?

我的C#应用​​程序从命令行运行7zip,并且我将窗口设置为隐藏,但是每次执行7zip时,命令行窗口仍然会弹出并消失,我认为这是7zip exe本身报告的输出。

有没有办法抑制这种情况?

 string strCmdText = "\"C:/Program Files/7-zip/7z.exe\" e \"" + listBox1.Items[i].ToString() + "\" -o\"" + label1.Text + "\" EMM*.zip RFE*.zip -r -y";
Process cmd = new Process();
            cmd.StartInfo.FileName = "cmd.exe";
            cmd.StartInfo.RedirectStandardInput = true;
            cmd.StartInfo.RedirectStandardOutput = true;
            cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
            cmd.StartInfo.UseShellExecute = false;
            cmd.StartInfo.CreateNoWindow = true;
            cmd.Start();

            cmd.StandardInput.WriteLine(strCmdText);
            cmd.StandardInput.Flush();
            cmd.StandardInput.Close();
            cmd.WaitForExit();

您的代码使用隐藏窗口打开cmd.exe,这将使用默认窗口(默认情况下称为7-zip.exe)打开。 如果可以,请直接致电7-zip.exe

Process cmd = new Process();
cmd.StartInfo.FileName = @"C:/Program Files/7-zip/7z.exe";
cmd.StartInfo.Arguments = "e \"" + listBox1.Items[i].ToString() + "\" -o\"" + label1.Text + "\" EMM*.zip RFE*.zip -r -y";
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
cmd.StartInfo.UseShellExecute = false;
cmd.StartInfo.CreateNoWindow = true;
cmd.Start();
cmd.WaitForExit();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM