有没有办法一个非高架的进程可以复制文件到受保护的目录?

我很好,它要求用户boost准备复制文件时。 需要进行复制的程序不能运行(它会丢失许多重要的环境variables,我无法改变它的启动方式)。 我的后备将会产生一个实际上做文件拷贝的高程的过程,但是我不想为另一个exe文件添加另一个exe文件。

Solutions Collecting From Web of "有没有办法一个非高架的进程可以复制文件到受保护的目录?"

使用COM Elevation Moniker实例化IFileOperation shell接口,然后所有使用该接口完成的文件操作都将被提升,而不必提升调用进程,或者不必创建单独的EXE /进程来处理文件访问。

您需要使用runas动词ShellExecute您的程序的副本。 这将导致副本升高。 这个升级的过程可以做到这一点。

通常情况下,您将自己的副本传递给一个命令行选项,指出您想要执行受保护的事情:

ShellExecute(0,“runas”“Frobber.exe”,“ – doThatThingThatRequiresElevation”,“”);

公认的看法是,这是不可能的,因为你不能在程序运行的时候提升它。 另请参阅: 启动后进程是否可以升级?