【发布时间】:2013-04-18 21:04:12
【问题描述】:
一段时间以来,我一直在尝试与 UAC 很好地合作,我发现了一些事情:
- 启用 UAC 后,Startup 文件夹中需要以管理员身份运行(例如通过嵌入式清单)的程序无法根据 this Stack Overflow thread 运行。
- 在启动时运行程序的另一种方法是在 64 位计算机中创建一个包含该应用程序路径的密钥:
HKLM or HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run或HKLM or HKCU\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run。 - 另一种方法是使用任务计划程序设置以最高权限运行选项。这是绕过第 1 点所述问题的唯一方法。
来自 Linux 背景,我对所有这些与管理员权限相关的问题一无所知。如果有人可以列出绝对需要管理员权限的场景,那将有很大帮助!
我问这个是因为当我开发一些应用程序时,我在实施过程中不断遇到一些问题,主要是因为我的应用程序需要管理员权限,而它不应该。
如果我在设计时知道所有可能需要管理员权限的场景,我可能会为我的所有应用程序设计一个通用服务来处理所有管理员任务(我认为服务是 Windows 的处理方式,例如这个)。
【问题讨论】:
-
唯一需要管理员权限的场景是调用需要提升权限的函数的场景。
-
@CaptainObvlious,你能给我一些这样的功能的例子吗?
标签: c++ windows elevated-privileges