Mono/.NET アプリから外部のコマンド ライン プログラムを実行したいと思います。たとえば、mencoderを実行したいのですが、可能ですか?
- コマンドラインシェルの出力を取得して、テキストボックスに書き込むにはどうすればいいですか?
- 経過時間とともに進行状況バーを表示するための数値を取得するには?
ベストアンサー1
Process
オブジェクト セットをStartInfo
適切に作成すると、次のようになります。
var proc = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = "program.exe",
Arguments = "command line arguments to your executable",
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
}
};
次にプロセスを開始し、そこから読み取ります。
proc.Start();
while (!proc.StandardOutput.EndOfStream)
{
string line = proc.StandardOutput.ReadLine();
// do something with line
}
int.Parse()
または を使用してint.TryParse()
文字列を数値に変換できます。読み取った文字列に無効な数値文字が含まれている場合は、最初に何らかの文字列操作を行う必要がある場合があります。