//CheckEpubを実施、Output/Errorを表示する public static bool CheckEpub(string ePubFile) { var ret = true; //仮にエラーなしとする //メッセージ初期化 outputLines = new List<string>(); errorLines = new List<string>(); //EPUBチェック実施中パネルを表示する var checkingDlg = new EpubCheckingDialog(); checkingDlg.Show(); var javaPath = PostProcess.javaPath; var ePubCheckPath = PostProcess.ePubCheckPath; //実行ファイル var p = new System.Diagnostics.Process(); p.StartInfo.FileName = javaPath; //引数 var args = "-jar " + "\"" + ePubCheckPath + "\" " + " \"" + ePubFile + "\""; p.StartInfo.Arguments = args; //出力とエラーをストリームに書き込むようにする p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; //OutputDataReceivedとErrorDataReceivedイベントハンドラを追加 p.OutputDataReceived += OutputDataReceived; p.ErrorDataReceived += ErrorDataReceived; p.StartInfo.RedirectStandardInput = false; p.StartInfo.CreateNoWindow = true; //EpubCheckを実行する p.Start(); p.BeginOutputReadLine(); p.BeginErrorReadLine(); p.WaitForExit(); p.Close(); //結果をダイアログに表示する var resultDlg = new EpubCheckResultDialog(); //Outputをコピーする foreach (var output in outputLines) { resultDlg.outputTextBox.Text += (output + "\n"); } //Errorをコピーする if (errorLines.Count > 1) //エラーがあれば { foreach (var error in errorLines) { resultDlg.errorTextBox.Text += (error + "\n"); } ret = false; //戻り値をエラーありにする。 } else //エラーなし { resultDlg.errorTextBox.Text = "エラーはありませんでした。"; } checkingDlg.Close(); //EpubCheck実施中のダイアログを閉じる resultDlg.ShowDialog(); //EpubCheck結果を表示する return (ret); }
//CheckEpubを実施、Output/Errorを表示する public static bool CheckEpub(string ePubFile) { var ret = true; //仮にエラーなしとする //メッセージ初期化 outputLines = new List <string>(); errorLines = new List <string>(); //EPUBチェック実施中パネルを表示する var checkingDlg = new EpubCheckingDialog(); checkingDlg.Show(); var javaPath = PostProcess.javaPath; var ePubCheckPath = PostProcess.ePubCheckPath; //実行ファイル var p = new System.Diagnostics.Process(); p.StartInfo.FileName = javaPath; //引数 var args = "-jar " + "\"" + ePubCheckPath + "\" " + " \"" + ePubFile + "\""; p.StartInfo.Arguments = args; //出力とエラーをストリームに書き込むようにする p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; //OutputDataReceivedとErrorDataReceivedイベントハンドラを追加 p.OutputDataReceived += OutputDataReceived; p.ErrorDataReceived += ErrorDataReceived; p.StartInfo.RedirectStandardInput = false; p.StartInfo.CreateNoWindow = true; //EpubCheckを実行する p.Start(); p.BeginOutputReadLine(); p.BeginErrorReadLine(); p.WaitForExit(); p.Close(); //結果をダイアログに表示する var resultDlg = new EpubCheckResultDialog(); //Outputをコピーする foreach (var output in outputLines) { resultDlg.outputTextBox.Text += (output + "\n"); } //Errorをコピーする if (errorLines.Count > 1) //エラーがあれば { foreach (var error in errorLines) { resultDlg.errorTextBox.Text += (error + "\n"); } ret = false; //戻り値をエラーありにする。 } else //エラーなし { resultDlg.errorTextBox.Text = "エラーはありませんでした。"; } checkingDlg.Close(); //EpubCheck実施中のダイアログを閉じる resultDlg.ShowDialog(); //EpubCheck結果を表示する return(ret); }