![](/img/trans.png)
[英]Executing MSBuild via C# using `Process.Start` fails with error but works if I try manually in the command line
[英]Executing a command line program from C# with Process.Start() is up to 10 times slower?
当我使用命令行在我的 Windows 10 机器上打印文件时,它完成得非常快( 40 秒)。
我使用这个命令行调用:
AcroRd32.exe /t document1.pdf
使用 C# 程序,即使我使用完全相同的参数调用 Adobe Reader,打印同一个文件也需要长达8 分钟。
var printProcess = Process.Start("AcroRd32.exe", "/T \"document1.pdf\"");
我还尝试了以下解决方法,但不幸的是,这也导致了性能下降。
System.Diagnostics.Process.Start("CMD.exe", "/C AcroRd32.exe /t document1.pdf");
我最初认为这可能是 Adobe Reader 的问题,但在使用 Foxit Reader 时会发生完全相同的事情。
这是一个已知的错误还是我做错了什么? 是否有解决方法(以不同的方式调用它,以便它可能不是子进程)?
打印时间是指软件/驱动程序将文件发送到打印机所需的时间。
我非常感谢您的帮助!
尝试使用进程优先级( PriorityClass
属性):
using (Process process = new Process())
{
process.StartInfo.FileName = "AcroRd32.exe";
process.StartInfo.Arguments = "/T \"document1.pdf\"";
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = false;
process.PriorityClass = ProcessPriorityClass.AboveNormal;
process.Start();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.