繁体   English   中英

为什么要Process.Start(“cmd.exe”,进程); 不行?

[英]Why does Process.Start(“cmd.exe”, process); not work?

这有效:

Process.Start("control", "/name Microsoft.DevicesAndPrinters");

但这不会:(它只是打开一个命令提示符。)

ProcessStartInfo info = new ProcessStartInfo("cmd.exe");
info.Arguments = "control /name Microsoft.DevicesAndPrinters";
Process.Start(info);

为什么?

(是的,我知道他们不一样。但第二个“应该”有效。)

这是因为cmd.exe期望/K开关执行作为参数传递的进程。 请尝试下面的代码

ProcessStartInfo info = new ProcessStartInfo("cmd.exe");
info.Arguments = "/K control /name Microsoft.DevicesAndPrinters";
Process.Start(info);

编辑:改为/K以上。 如果希望cmd.exe在运行命令后关闭,则可以使用/C开关。

您需要一个/c/k开关( cmd.exe选项),以便执行该命令。 尝试:

ProcessStartInfo info = new ProcessStartInfo("cmd.exe");
info.Arguments = "/c control /name Microsoft.DevicesAndPrinters";
Process.Start(info);

试试这个吧

ProcessStartInfo info = new ProcessStartInfo("control");
info.Arguments = "/name Microsoft.DevicesAndPrinters";
Process.Start(info);

暂无
暂无

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

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