如何在Windows下使用call启动一个进程

本文关键字:进程 一个 启动 call Windows | 更新日期: 2023-09-27 18:03:02

我有以下在Linux下工作的代码:

ProcessStartInfo startInfo = new ProcessStartInfo(); 
// Set in the process the executable and arguments
startInfo.FileName = "ps";
startInfo.Arguments = "a";
Process proc = Process.Start(startInfo);
proc.WaitForExit();
return proc.ExitCode;

然而,当我尝试在Windows下使用一个简单的命令的过程:

ProcessStartInfo startInfo = new ProcessStartInfo(); 
// Set in the process the executable and arguments
startInfo.FileName = "call";
startInfo.Arguments = "gpedit.msc";
Process proc = Process.Start(startInfo);
proc.WaitForExit();
return proc.ExitCode;

它不工作(我知道在cmd.exe中运行thins命令工作得很好)。

我得到:Win32Exception was unhandled .

我又读了一遍这个教程:如何从c#开始一个进程?

我在Linux下使用了很多process,但是我看不出我在Windows下做错了什么。

如何在Windows下使用call启动一个进程

CALL是一个批处理命令,只能在命令行(poke)中使用

两个选项:

GPEDIT参数调用MMC可执行文件

startInfo.FileName = "MMC.EXE";
startInfo.Arguments = "GPEDIT.MSC";

或不带参数调用GPEDIT.MSC

startInfo.FileName = "GPEDIT.MSC";