0
由于UAC的乐趣,我需要以编程方式打开提升的命令提示符,然后重定向标准输入,以便我可以使用time
命令。打开快捷方式时重定向StandardIn
如果我使用
Process ecp = System.Diagnostics.Process.Start("c:/ecp.lnk");
但是,如果我用这个方法,我不能重定向standardIn我可以打开链接(.lnk文件)。
如果我使用StartProcessInformation方法(它奇妙的作品,如果你调用一个exe)
ProcessStartInfo processStartInfo = new ProcessStartInfo("c:/ecp.lnk");
processStartInfo.UseShellExecute = false;
processStartInfo.ErrorDialog = false;
processStartInfo.RedirectStandardError = true;
processStartInfo.RedirectStandardInput = true;
processStartInfo.RedirectStandardOutput = true;
Process process = new Process();
process.StartInfo = processStartInfo;
bool processStarted = process.Start();
StreamWriter inp = process.StandardInput;
StreamReader oup = process.StandardOutput;
StreamReader errorReader = process.StandardError;
process.WaitForExit();
我收到错误消息: 指定的可执行文件是不是有效的Win32应用程序。
任何人都可以帮助我创建一个提升的命令提示符,我可以捕获标准输入吗?或者如果有人知道如何以编程方式升级命令提示符?