0
Shellexecute
如果成功,则返回大于32的值。如果该功能失败,它将返回一个指示失败原因的错误值。但是在Process.start的情况下,我没有得到任何这种选择。我尝试使用Process.ExitCode
,但它只会在进程关闭后才会返回值。但我想检查过程是否成功启动。还有什么等同于process.start中的shellexecute返回值?从Process.start返回值
Shellexecute
如果成功,则返回大于32的值。如果该功能失败,它将返回一个指示失败原因的错误值。但是在Process.start的情况下,我没有得到任何这种选择。我尝试使用Process.ExitCode
,但它只会在进程关闭后才会返回值。但我想检查过程是否成功启动。还有什么等同于process.start中的shellexecute返回值?从Process.start返回值
,但我想检查过程是否被成功
从文档开始为Process.Start:
返回值true表明一个新的进程资源开始。如果由StartInfo属性的FileName成员指定的进程资源已在计算机上运行,则不会启动其他进程资源。相反,正在运行的进程资源被重用并返回false。
该布尔值并不表示发生错误,只表明该进程已在运行。
如果发生真正的错误,即异常,则可以捕获Win32Exception并使用NativeErrorCode属性获取您之后的错误代码。
只有两个其他例外可能被抛出; InvalidOperationException或ObjectDisposedException。这些都不需要错误代码来诊断问题的原因。
Process.Start返回布尔值,如果它开始OK,请参阅MSDN链接http://msdn.microsoft.com/en-us/library/e8zac0ca.aspx – Baldrick