如何在Windows 7中请求管理员权限?

3

我使用Qt在Windows 7下编写了一个应用程序。该应用程序以普通用户权限启动,但我想获取管理员权限,因为我想修改注册表以使应用程序自动启动。

我该如何做?


@Deanna:并不完全是重复,因为这有一个更简单的解决方案:如果写入HKEY_CURRENT_USER而不是HKEY_LOCAL_MACHINE,则不需要管理员权限。 - houbysoft
6个回答

6

5

3

您不需要管理员权限来自动启动应用程序。

只需将适当的键写入:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

这不需要管理员权限(与 HKEY_LOCAL_MACHINE 下的相同路径不同)。


但是只有当登录的用户是安装应用程序的用户时,应用程序才会启动。 - Jichao
1
@Jichao:99%的情况下,这就是你想要的。自动启动其他用户应用程序且未经其许可的行为非常令人讨厌。 - houbysoft

2
为了让应用程序自启动,您不需要管理员权限!不要将注册表键添加到 HKLM 下(这需要管理员权限),而是使用 HKCU 就可以了。

1
请注意,在程序运行时无法更改权限。必须将其终止并以正确的权限重新启动。

-1

为了让一个应用程序在HKLM中自动启动,需要管理员权限。但应用程序的权限在运行时无法更改。

因此,我制作了一个新的小应用程序,其任务仅是编写注册表以使主应用程序自动启动。

主应用程序可以使用ShellExecuteEx调用此应用程序以请求管理员权限。


假设您是指使用runas动词,那么此答案已经被提供并被接受。 - Deanna
请查看第二段。 - Jichao

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接