C# アプリで数百の .txt スクリプトを生成し、GnuPlot を起動して、各スクリプトの .png グラフを生成したいと考えています。
次のコードを使用して、C# から GnuPlot を起動できます。
Process gnuPlotProcess = new Process();
gnuPlotProcess.StartInfo = new ProcessStartInfo(@"C:\Program Files\gnuplot\bin\wgnuplot.exe");
gnuPlotProcess.Start();
最初の問題は、現在のディレクトリを変更しようとしているときに発生し、プロセスを開始する前に次のコード行を追加します。
gnuPlotProcess.StartInfo.Arguments = "cd '" + scriptsPath + "'";
GnuPlot が起動しなくなりました。
2 つ目の問題は、GnuPlot のデフォルトの現在のディレクトリでテストできましたが、"load 'script_xxx.txt'" コマンドを渡そうとしたときです。完全なコードは次のとおりです ( C# の Gunplot からのプロット グラフからのインスピレーション):
Process gnuPlotProcess = new Process();
gnuPlotProcess.StartInfo = new ProcessStartInfo(@"C:\Program Files\gnuplot\bin\wgnuplot.exe");
gnuPlotProcess.StartInfo.RedirectStandardInput = true;
gnuPlotProcess.StartInfo.UseShellExecute = false;
theProcess.Start();
StreamWriter sw = gnuPlotProcess.StandardInput;
sw.WriteLine("load '" + pathToScript + "'");
sw.Flush();
pathToScript にあるスクリプトは .png ファイルを作成する必要があり、gnuPlot から直接起動すると機能します。しかし、コードからは何も起こりません。
どんな助けでも大歓迎です。