1

私のメインプロジェクトから、主に現在のソリューションから他の実行可能ファイルを実行しています。

出力ウィンドウには、終了すべきでないと思われるスレッドの終了に関する情報が表示されます。どのようにしてアプリケーションの子プロジェクトを実行して、どれを処理できるのでしょうか?

mainApp.exesideProj1.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();
}

実行されたプロジェクトとメインのコンサートで「連絡を取り合う」ための正しいアプローチは何ですか?

4

1 に答える 1

0

したがって、どのスレッドがどれであるかを認識する問題について

メインフォームのコンストラクタで

System.Threading.Thread.CurrentThread.Name = "AppMainTRD";

企画名の通り..

私が知らなかったもう1つのことは、ソリューション全体をプロジェクトの開始として実行できることです。これは、デバッグ目的でのみ発生しますが、これは今のところ良いことです。

于 2016-02-17T20:38:34.877 に答える