繁体   English   中英

ProcessStartInfo.UseShellExecute有什么大不了的?

[英]What's the big deal with ProcessStartInfo.UseShellExecute?

ProcessStartInfo.UseShellExecute将如何影响我的运行进程?

我是否需要UAC对UseShellExecute的特殊权限?

它会在不同的用户上运行吗?

它会给我新的权限吗?

Windows有两个不同的api函数来启动进程。 低级的是CreateProcess(),它直接映射到本机api函数。 还有ShellExecuteEx(),这是一个由shell(Explorer)实现的函数。 它具有更高的抽象级别。

它们是非常不同的功能,您可以在ProcessStartInfo的文档中看到这些功能。 CreateProcess()只能启动可执行文件,但它有很好的支持来控制控制台模式程序,包括重定向I / O和控制控制台窗口外观的能力。 ShellExecuteEx()利用shell添加的功能,文件关联是最重要的,因此您可以启动为特定文件扩展名注册的可执行文件。

两个api函数都有选项来影响进程的执行方式。 您将看到ProcessStartInfo类的属性与CreateProcess支持的Process Creation Flags以及ShellExecuteEx()使用的SHELLEXECUTEINFO结构中的字段之间存在密切关联。 但这些功能不重叠,这就是为什么你需要修改UseShellExecute。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM