私のメインプロジェクトから、主に現在のソリューションから他の実行可能ファイルを実行しています。
出力ウィンドウには、終了すべきでないと思われるスレッドの終了に関する情報が表示されます。どのようにしてアプリケーションの子プロジェクトを実行して、どれを処理できるのでしょうか?
mainApp.exe
、sideProj1.exe
...
メインアプリでは次のようにします:
public static bool LounchSideProj1Exec()
{
/*
here I could simply call it via Process.Start();
or if I could somehow, execute it via thread start,
so I could name the thread and then see it in the output window and other places...
*/
System.Diagnostics.ProcessStartInfo Pinf = new System.Diagnostics.ProcessStartInfo();
var CurMachingMatchsProcs = System.Diagnostics.Process.GetProcesses().Where(p => p.ProcessName.ToLower().Equals("sideproj1"));
//check count, take first, this is a running process of SideProj1 else excute sideProj1:
sideProj1Proc = CurMachingMatchsProcs.First();
// or else...
SideProj1Proc = new System.Diagnostics.Process();
Pinf.FileName = @"G:\...sideProj1.exe";
sideProj1Proc.StartInfo = Pinf;
bool okTh = false;
ThreadStart ths = new ThreadStart(() => { okTh = sideProj1Proc.Start(); });
Thread th = new Thread(ths);
th.Name = "sideProj1THREAD";
th.Start();
}
実行されたプロジェクトとメインのコンサートで「連絡を取り合う」ための正しいアプローチは何ですか?