1

从我的主要项目中,我主要从当前解决方案运行一些其他可执行文件。

当我怀疑它们不应该退出线程时,输出窗口会向我显示有关退出线程的信息,是什么导致我提出问题,我如何运行我的应用程序子项目以便我可以处理哪个是哪个?

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

与..Concert Of Executed projects & main“保持联系”的正确方法是什么?

4

1 回答 1

0

所以对于识别哪个线程是哪个线程的问题

在主窗体的构造函数中

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

根据项目名称..

我不知道的另一件事是我可以将整个解决方案作为启动项目执行,这将只用于调试目的,这对于现在来说是好的。

于 2016-02-17T20:38:34.877 回答