我使用的是裸Win32Api。我需要启动的应用程序与提升的权限和应用程序没有清单。因此,唯一的方法是将ShellExecuteEx与runAs动词结合使用。它可以工作,但我需要阅读过程标准。有了CreateProcess,我就有了STARTUPINFO,我可以用它来输送进程标准。
但是ShellExecuteEx没有这样的API。那么,我怎么才能提升和重定向标准呢?
发布于 2017-02-28 13:47:17
这是不可能的要读取stdout,必须使用CreateProcess。但是CreateProcess不能启动另一个提升的进程..。
如果可能的话,创建您自己的过程,您可以启动提升。此过程可能捕获stdout。使用一些IPC与此进程进行通信以获得标准输出。
或者用简单的管道重定向。
这个问题已经被问到了,并且是一个duplicate to。也请参阅这个question about elevating。
https://stackoverflow.com/questions/42510319
复制相似问题