我使用Qt在Windows 7下编写了一个应用程序。该应用程序以普通用户权限启动,但我想获取管理员权限,因为我想修改注册表以使应用程序自动启动。
我该如何做?
您不需要管理员权限来自动启动应用程序。
只需将适当的键写入:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
这不需要管理员权限(与 HKEY_LOCAL_MACHINE
下的相同路径不同)。
为了让一个应用程序在HKLM中自动启动,需要管理员权限。但应用程序的权限在运行时无法更改。
因此,我制作了一个新的小应用程序,其任务仅是编写注册表以使主应用程序自动启动。
主应用程序可以使用ShellExecuteEx调用此应用程序以请求管理员权限。
HKEY_CURRENT_USER
而不是HKEY_LOCAL_MACHINE
,则不需要管理员权限。 - houbysoft