使用 ShellExecuteEx 启动的进程的默认访问权限是什么?

发布于 2024-08-27 12:10:29 字数 427 浏览 8 评论 0原文

我需要对以 ShellExecuteEx 启动的进程执行某些操作 - 例如等待它、复制句柄、查询和设置信息等。现在我想知道是否可以在 上执行所有这些操作hProcess 成员,它在我传递给 ShellExecuteExSHELLEXECUTEINFO 结构中返回。有人知道这个吗?

调用ShellExecuteEx的进程是否拥有PROCESS_DUP_HANDLESYNCHRONIZEPROCESS_SET_INFORMATIONPROCESS_QUERY_INFORMATION等权限> (等等)默认情况下,当使用返回的 hProcess?

I need to perform certain operations on a process started with ShellExecuteEx - like waiting for it, duplicating handles, querying and setting information etc. Now I am wondering if I can do all these things on the hProcess member which is returned in the SHELLEXECUTEINFO structure I pass to ShellExecuteEx. Does anybody know this?

Does the process that called ShellExecuteEx have rights like PROCESS_DUP_HANDLE, SYNCHRONIZE, PROCESS_SET_INFORMATION, PROCESS_QUERY_INFORMATION (and so on) by default, when using the returned hProcess?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

说谎友 2024-09-03 12:10:29

我猜想它与您从 CreateProcess 获得的内容相同,尽管该文档也没有说明(我冒险使用 PROCESS_ALL_ACCESS)。无论如何,您始终可以执行 GetProcessId() 和 OpenProcess() 以使用您需要的任何访问权限打开它。

I would guess that it is the same as what you get from CreateProcess, though even that documentation doesn't say (I would venture PROCESS_ALL_ACCESS). In any event, you could always do GetProcessId() and OpenProcess() to open it with whatever access you need.

作死小能手 2024-09-03 12:10:29

是的。在线的时候你需要担心访问权限的问题是如果你做了任何触发uac的任务,那么你需要设置requestedExecutionLevel= 'highestAvailable'

Yes. The online time you need to worry about access rights is if you do any task that trigger the uac, then you need to set the requestedExecutionLevel= 'highestAvailable'

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文