2015年3月29日 星期日

C# Process Standard Output 隨手筆記

原本有些API在應用的時候,原本的想法就是透過Telnet的方式來呼叫進行互動式的操作。
但為了簡化環境的因子,想說如果可以利用C#呼叫外部程式的方式,進行溝通鳩可以了。
雖然事與願違,但還是將測試的過程進行了以下的紀錄。

Process process = new Process();
process.StartInfo.FileName = "cliprogram.exe";
process.StartInfo.UseShellExecute = false; //如果輸出導向的話此處要設定
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardInput = true;
process.Start();
while (!process.StandardOutput.EndOfStream)
{
string line = process.StandardOutput.ReadLine();
//line += process.StandardError.ReadLine();
// do something with line
Console.WriteLine(line);
}

但我發現有些程式如果還在運行中,Standardoutput不認為輸出完成所以不會回傳值。
但如果用ReadLine();則僅能讀取第一行。

後續還有突破再補上。

沒有留言:

張貼留言

CentOS Python 3.7 安裝方式

有些開發的程式在python 3.8的檔案套件不相容,例如pymssql,等。 所以如果不建置虛擬環境的話才特意安裝3.7版本的python 安裝流程如下 # 先進行yum套件的update yum update -y # 安裝相依性套件 yum install gcc o...