簡體   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