This question already has answers here:
Using ShellExecuteEx and capturing standard in/out/err
(5个答案)
3年前关闭。
我正在使用裸Win32Api。
我需要以提升的权限启动应用,而应用没有 list 。因此,唯一的方法是将
但是
那么,如何提升和重定向标准输出?
(5个答案)
3年前关闭。
我正在使用裸Win32Api。
我需要以提升的权限启动应用,而应用没有 list 。因此,唯一的方法是将
ShellExecuteEx
与runAs
动词一起使用。它可以工作,但是我需要阅读流程标准输出。使用CreateProcess
,我有STARTUPINFO
,可用于通过管道传输标准输出。但是
ShellExecuteEx
没有这样的API。那么,如何提升和重定向标准输出?
最佳答案
这是不可能的。要读取标准输出,需要CreateProcess。但是CreateProcess无法启动另一个提升的进程...
如果可能,请创建您自己的进程,然后启动它。此过程可能会捕获标准输出。使用一些IPC与该过程进行通信以获得标准输出。
或使用简单的管道重定向。
这个问题已经被问到了,它是duplicate to。
另请参见question about elevating。
关于windows - 重定向ShellExecute的流程标准输出(或其他提升和重定向的方式),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42510319/
10-11 04:21