由于在创建子进程的时候需要加入startupInfo.lpDesktop = @"winsta0\default";
所以不能直接调用Process 类, 写了一个UserSpecifyProcess继承自Process, 调用win32 api CreateProcessWithLogonW 来创建子进程,
可是不能获取子进程的输出,谁能帮我看一下原因, 谢谢。
代码在附件中,调用如下:
UserSpecificProcess process = new UserSpecificProcess();
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.CreateNoWindow = false;
process.StartInfo.FileName = "D:\\ConsoleTest.exe"; // any exe file
process.StartAsUser("user", "domian", "pwd");
Console.WriteLine("output:" + process.StandardOutput.ReadToEnd());
所以不能直接调用Process 类, 写了一个UserSpecifyProcess继承自Process, 调用win32 api CreateProcessWithLogonW 来创建子进程,
可是不能获取子进程的输出,谁能帮我看一下原因, 谢谢。
代码在附件中,调用如下:
UserSpecificProcess process = new UserSpecificProcess();
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.CreateNoWindow = false;
process.StartInfo.FileName = "D:\\ConsoleTest.exe"; // any exe file
process.StartAsUser("user", "domian", "pwd");
Console.WriteLine("output:" + process.StandardOutput.ReadToEnd());
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货