C++:与 Windows 上提升的子进程通信

2024-03-02

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

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

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

所以我们的想法是启动一个单独的、提升的流程once,然后在后台运行并接收相应的命令并执行它们。这让我想到了我的问题:在未提升的进程与其提升的子进程之间甚至可以使用哪些通信方法?由于明显的安全原因,对标准输入的访问似乎被禁止,但是命名管道或共享内存呢?是否适用相同的限制?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++:与 Windows 上提升的子进程通信 的相关文章

随机推荐