我编写了一个带有消息框的程序,该程序在
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
并写道:
Value Name: Program
Value Data: C:\Users\Noah\Documents\Visual Studio 2015\Projects\Program\Program\bin\Debug\Program.exe
程序在我重新启动时运行,但需要以管理员身份运行。我可以写入注册表来让它执行此操作吗?
答案1
您已将注册表项放入 LOCAL_MACHINE 配置单元中。Run 子项程序将全部使用 SYSTEM 用户执行,为此您需要管理员权限。如果您当前的用户是本地管理员,则这些程序将正常运行。
如果没有,将会弹出一个提示,要求获得管理批准(UAC)
如果您不想出现此提示,请让程序以用户身份运行。
用户始终可以写入 CURRENT_USER 注册表项,而无需管理员批准。将运行项放在此处不会在启动时出现 UAC 提示,用户也不必以管理员身份运行程序来进行此更改。
请注意,在运行时,程序不是以管理权限运行,而是以普通用户身份运行,因此程序的功能受到限制。