来自MSDN:
返回值 true 表示已启动新的进程资源。如果 StartInfo 属性的 FileName 成员指定的进程资源已在计算机上运行,则不会启动其他进程资源。相反,将重用正在运行的进程资源,并返回 false。
尝试这样做:
var info = new ProcessStartInfo {FileName = @"CMD"};
var p1 = new Process
{
StartInfo = info
};
var result = p1.Start(); //true
result = p1.Start(); //true
var p2 = new Process
{
StartInfo = info
};
result = p2.Start(); //true
如果我使用FilePath=@"c:\myapp.exe"而不是CMD,则会得到相同的结果。
在什么情况下返回false?