2015-11-07 65 views
0

這段代碼成功運行,如何在一段時間內多次打開錢箱?

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秒鐘並嘗試再次運行它沒有問題。

如何在短時間內多次打開錢箱?

回答

1

我嘗試了一下你的代碼:我將dir命令的輸出重定向到了一個文件,它工作正常。

p.StandardInput.WriteLine(@"dir > C:\text" + (ID++) + ".txt"); 

我的猜測是,你可能想看看COM端口(超時問題?)或尋找替代方法,例如在文件打印命令的輸出,並有一個另一個進程讀取的文件和發送這些文件的內容在串口上陸續出現。