一段时间以来,我一直在尝试与 UAC 很好地合作,我发现了一些事情:
- 启用 UAC 后,需要以管理员身份运行(例如通过嵌入式清单)的 Startup 文件夹中的程序无法根据此 Stack Overflow 线程运行。
HKLM or HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
在启动时运行程序的另一种方法是在 64 位机器或64 位机器中创建包含该应用程序路径的密钥HKLM or HKCU\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
。- 另一种方法是使用任务计划程序设置以最高权限运行选项。这是绕过第 1 点所述问题的唯一方法。
来自 Linux 背景,我对所有这些与管理员权限相关的问题一无所知。如果有人可以列出绝对需要管理员权限的场景,那将有很大帮助!
我问这个是因为当我开发一些应用程序时,我在实现过程中一直遇到一些问题,主要是因为我的应用程序需要管理员权限,而它不应该。
如果我在设计时知道所有可能需要管理员权限的场景,我可能会为我的所有应用程序设计一个通用服务来处理所有管理员任务(我认为服务是 Windows 的处理方式)。