我有一个在本地机器上启动进程的功能:
public int StartProcess(string processName, string commandLineArgs = null)
{
Process process = new Process();
process.StartInfo.FileName = processName;
process.StartInfo.Arguments = commandLineArgs;
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;
process.StartInfo.ErrorDialog = false;
process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
process.Start();
return process.Id;
}
它应该在不打开新窗口的情况下启动该过程。事实上,当我用 timeout.exe 测试它时,没有打开控制台窗口。但是当我用 notepad.exe 或 calc.exe 测试它时,它们的窗口仍然打开。
我在网上看到这种方法适用于其他人。我在 Windows 7 x64 上使用 .NET 4.0。
我究竟做错了什么?