System.Diagnostics.ProcessStartInfo.UseShellExecute 属性
本文提供了此 API 参考文档的补充说明。
该 ProcessStartInfo 类指定启动进程时使用的一组值。
设置属性 UseShellExecute 可 false
让你重定向输入、输出和错误流。
此上下文UseShellExecute
中的“shell”一词是指图形 shell(类似于 Windows shell),而不是命令 shell(例如, bash
或 sh
),允许用户启动图形应用程序或打开文档。
注意
UseShellExecute必须是false
属性UserName不是null
或空字符串,或者在调用方法时Process.Start(ProcessStartInfo)引发一个InvalidOperationException。
在使用操作系统 shell 启动进程时,可以使用 Process 对象启动任何文档(可以是与具有默认打开操作的可执行文件关联的任何注册文件)并对该文件执行操作(如打印)。 当 UseShellExecute 为 false
时,仅可使用 Process 对象启动可执行文件。
注意
UseShellExecutetrue
必须是如果将属性设置为 ErrorDialogtrue
.
WorkingDirectory
WorkingDirectory 属性的行为随 UseShellExecute 属性的值而异。 当为true
时UseShellExecute,该WorkingDirectory属性指定可执行文件的位置。 如果 WorkingDirectory 为空字符串,则假定当前目录包含可执行文件。
当 UseShellExecute 是 false
时 WorkingDirectory ,该属性不用于查找可执行文件。 相反,它只能由已启动的进程使用,并且仅在新进程的上下文中有意义。 如果为false
,UseShellExecute则FileName属性可以是可执行文件的完全限定路径,也可以是系统尝试在环境变量指定的文件夹中查找的PATH
简单可执行文件名称。 搜索路径的解释取决于操作系统。 有关详细信息,请在命令提示符处输入 HELP PATH
或 man sh
输入。