【发布时间】:2011-08-10 06:47:29
【问题描述】:
操作系统:Windows 语言:C
我有一个要求,例如,我不应该更改 exe 的清单或 exe 文件的属性来以管理员身份运行它。是否有机会使用 createprocess/createprocessasuser api 来满足我的要求。这可以通过 shellexecute api 完成,但是我需要创建处于挂起状态的进程。这只能通过 createprocess 或 createprocessasuser api 来完成。 不胜感激,如果有人可以指导我通过这些api以管理员身份运行程序。
【问题讨论】:
-
大声思考,但我认为可以使用 Win 7 和 Vista 的 UAC(用户帐户控制)功能请求权限提升。这很可能有一个 Win32 API。
-
所以让我直说吧。您已决定避免使用明确记录的机制来满足您的要求,并希望存在一些其他完全不相关的替代方案来解决您的问题?
-
@Cody Gray:对我来说,最后一句话暗示他想使用这些记录在案的 API 中的一个。
-
@tomasmcguinness:他为此命名了官方 API 之一。 UAC 仅适用于进程边界。这意味着您必须创建一个新的提升流程,而不是提升现有流程。
-
您是否同意显示 UAC 提升对话框并且用户必须输入管理员凭据,或者如果用户是管理员则同意?
标签: c visual-studio-2008 winapi process uac