在windows10

时间:2015-09-23 06:33:04

标签: c# windows-10

你好我有一个c#programm打开一个cmd.exe重定向其标准输入并运行一个命令,然后我拿走控制台的截图并关闭窗口。 这在Windows 7上工作正常但在Windows 10上我在控制台中获得了大量“句柄无效”消息而不是我的命令。 只有当我在windowsforms应用程序中执行此操作时才会发生这种情况,即使在Windows 10上,控制台应用程序也能正常工作

以下是重现问题的示例代码

Process myProcess = new Process();
myProcess.StartInfo.FileName = "cmd.exe";
myProcess.StartInfo.Arguments = "/K";// chcp 65001";
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.RedirectStandardInput = true;

myProcess.StartInfo.WorkingDirectory = @"c:\";


myProcess.Start();
StreamWriter myStreamWriter = myProcess.StandardInput;
StreamWriter encodedWriter = new StreamWriter(myProcess.StandardInput.BaseStream, Encoding.GetEncoding(850));
encodedWriter.WriteLine("abcdef gä öü");
encodedWriter.Flush();

Thread.Sleep(2500);

myProcess.Kill();

它以某种方式连接重定向输入,Windows窗体和窗口10.如果其中一个条件为false,则它们不是无效的句柄消息

0 个答案:

没有答案