0

我需要做一些注册表操作和其他系统操作,我需要管理员权限。当前用户必须以“以管理员身份运行”启动我的应用程序。

那么我如何以管理员权限启动我的应用程序?

4

4 回答 4

2

CreateProcessAsUser或者CreateProcessWithLogonW是您需要的主要内容。对于CreateProcessAsUser,您需要使用一些其他的东西来让它发挥作用(例如,AdjustTokenPrivileges启用它使用的权限,并LogonUser获取用户的令牌)。

于 2012-06-19T05:13:30.100 回答
2

您也可以为此目的使用ShellExecuteEx ()。该例程需要一个 SHELLEXECUTEINFO 结构传递给它。此结构的相关属性是“lpverb”,必须将其设置为值“runas”。这将确保以提升的权限运行的任务。

于 2012-06-19T07:25:04.693 回答
1

答案涉及以编程方式启动它,但如果程序的全部目的是以管理员身份运行以进行这些更改,您可以添加适当的清单以使 Windows 为您提升。

于 2012-06-19T15:53:37.067 回答
0

如果只是您的应用程序的一部分需要管理员访问权限,请查看COM 提升

于 2012-06-19T16:01:55.550 回答