如何将子进程带入前台

时间:2019-12-27 15:31:11

标签: c# process

我正在启动一个实际上启动3个进程的进程。有没有办法选择我想带到最前面的子进程?

现在我正在使用:

try
{
  Process pname = Process.GetProcessesByName(myproc)[0];

  IntPtr handle = pname.MainWindowHandle;
  SetForegroundWindow(handle);
}
catch (Exception ex)
{
  Debug.WriteLine("start, no proc running" + ex.Message);
}

问题在于,它带来了哪个过程是随机的。

子进程的名称是会话A,B和C,我要C

1 个答案:

答案 0 :(得分:0)

我能够通过以下方式获得所需的窗口:

Process[] ProcessList = Process.GetProcesses();
foreach (Process process in ProcessList)
{
    if (process.MainWindowTitle == "Session C")
    {
        try
        {
            IntPtr hWnd = IntPtr.Zero;
            hWnd = process.MainWindowHandle;
            SetForegroundWindow(process.MainWindowHandle);
        } catch (Exception ex)
        {
            Debug.WriteLine("no proc found" + ex.Message);
        }
    }
}