我想做以下事情:
有可能吗?
答案 0 :(得分:3)
Applications don't have privileges, users do。 “程序具有对特定文件的完全访问权限”和“用户具有对特定文件的完全访问权限”的条件无法区分,因为程序以与启动它的用户相同的权限运行。
因此,为了使程序以更高的权限运行,它需要以不同的用户身份运行。您可以在可执行文件中通过embedding an application manifest执行此操作。当然,然后当你运行它时,你会得到一个UAC提示符,that cannot be bypassed。
答案 1 :(得分:2)
您需要将代码分成两部分;用户界面,在用户的上下文中运行,以及以管理员权限运行的服务。
如果您正在使用C编程,请从MSDN library section on services开始,以获取一般概述以及权威参考。
您可能希望使用named pipes作为UI和后端之间的通信机制,但根据您的具体需求,还有其他选项。
作为优化,一旦您使其正常工作,请配置该服务,使其仅在UI需要时启动。 This answer显示了如何配置服务,以便任何用户都可以启动它。