我想要做以下事情:
可能吗?
你需要把你的代码分成两部分, 在用户上下文中运行的用户界面以及以管理员权限运行的服务。
如果您使用C语言进行编程,请从MSDN库服务部分开始,了解一般概述以及权威参考。
您可能想要使用命名管道作为用户界面和后端之间的通信机制,但根据您的特定需求还有其他选项。
作为一个优化,一旦你得到它的工作,配置服务,以便只有当用户界面需要它开始。 此答案显示如何配置服务,以便任何用户可以启动它。
应用程序没有权限,用户可以 。 “程序具有完全访问特定文件的条件”和“用户具有完全访问特定文件”的条件是难以区分的,因为程序以与启动它的用户相同的特权运行。
因此,为了使程序以更高的权限运行,它需要以不同的用户身份运行。 您可以通过在可执行文件中嵌入应用程序清单来实现这一点。 当然,那么当你运行它,你会得到一个UAC提示,并且不能被绕过 。