此代码成功运行,
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
p.Start();
p.StandardInput.WriteLine(@"dir >com1");
但是如果我尝试在~30秒之前再次运行相同的代码,它就不起作用了。 如果我等待~30秒并尝试再次运行它没有问题。
我可以做多次连续打开Cash Box?
答案 0 :(得分:1)
我尝试了一些小调整你的代码:我将dir命令的输出重定向到一个文件,它工作。
p.StandardInput.WriteLine(@"dir > C:\text" + (ID++) + ".txt");
我的猜测是你可能想要查找COM端口(超时问题?)或寻找替代方案,比如在文件中打印命令的输出并让另一个进程读取文件并发送这些文件的内容在串口上一个接一个地存档。