我需要做一些注册表操作&我需要管理员权限的其他系统操作。目前用户必须以“以管理员身份运行”启动我的应用程序。
所以如何使用管理员权限启动我的应用程序?
答案 0 :(得分:2)
CreateProcessAsUser
或CreateProcessWithLogonW
是您需要的主要内容。对于CreateProcessAsUser
,您需要使用其他一些东西来使其尽其所能(例如,AdjustTokenPrivileges
启用其使用的权限,并LogonUser
获取用户的令牌)。
答案 1 :(得分:2)
您也可以使用ShellExecuteEx()来实现此目的。此例程需要将SHELLEXECUTEINFO结构传递给它。该结构的相关属性是“lpverb”,必须将其设置为值“runas”。这将确保使用提升的priveleges运行的任务。
答案 2 :(得分:1)
答案涉及以编程方式启动它,但如果程序的整个目的是以管理员身份运行以进行这些更改,则可以添加appropriate manifest以使Windows升级。
答案 3 :(得分:0)
如果只有部分应用需要管理员权限,请查看COM elevation。