C ++:在Windows

时间:2015-06-22 00:33:19

标签: c++ windows uac inter-process-communicat

我正在进行以下设置:我正在编写的DLL在运行时动态加载,并为主机应用程序提供一些类似API的功能。主机应用程序没有运行管理员权限(因此我的DLL也不是)。

我的DLL需要完成的一些任务需要管理员权限,特别是我必须保存并将文件复制到程序文件文件夹。

我目前的方法是通过ShellExecute和“runas”动词启动外部应用程序,这会触发UAC提示。这尤其意味着用户触发的多个后续操作将始终导致额外的UAC提示,这可能非常烦人。

因此,想法是启动一个单独的,提升的进程一次,然后在后台运行并接收相应的命令并执行它们。这让我想到了一个问题:在一个没有进展的过程与其提升的子过程之间,甚至可以采用哪种交流方式?由于明显的安全原因,似乎禁止访问stdin,但是命名管道或共享内存呢?是否适用相同的限制?

0 个答案:

没有答案