次のような外部プロセスを実行する「メインアプリ」があります。
sortProcess = new Process();
sortProcess.StartInfo.FileName = "app.exe";
sortProcess.StartInfo.UseShellExecute = false;
sortProcess.StartInfo.RedirectStandardOutput = true;
sortProcess.StartInfo.RedirectStandardError = true;
sortProcess.OutputDataReceived += new DataReceivedEventHandler(SortOutputHandler);
sortProcess.ErrorDataReceived += new DataReceivedEventHandler(sortProcess_ErrorDataReceived);
sortProcess.Start();
sortProcess.BeginOutputReadLine();
sortProcess.BeginErrorReadLine();
sortProcess.WaitForExit();
sortProcess.Close();
外部プロセスは、メイン アプリや多言語と通信するために非常にシンプルである必要があります。たとえば、次のようなコンソールです。
Console.WriteLine(@"started");
//do stuff
Console.WriteLine(@"something done");
//try to do more stuff
throw new System.InvalidOperationException("Logfile cannot be read-only");
//could do
Console.WriteLine(@"done without errors");
app.exe には as がありOutput type
ますWindows Application
。メイン アプリで実行されていない限り、app.exe で他の場所からの exe の実行をブロックするにはどうすればよいですか