如何在我的C#程序面板中接管另一个正在运行的应用程序?

时间:2015-06-28 12:08:40

标签: c# process take setparent

我要做的是接管另一个正在运行的应用程序并将其附加到我的表单中的面板,如下所示:

   private void button1_Click(object sender, EventArgs e)
    {
        Process p = Process.Start("notepad.exe");
        Thread.Sleep(500); // Allow the process to open it's window
        SetParent(p.MainWindowHandle, panel1.Handle);
    }

但在我的情况下我不会启动应用程序,我将不得不接管现有的正在运行的进程。

想法?

提前致谢, 丹。

1 个答案:

答案 0 :(得分:0)

试试这个:

foreach (var process in Process.GetProcesses())
{
    if (process.ProcessName == "notepad")
    // or
    //if (process.MainWindowTitle == "Untitled - Notepad")
    {
        SetParent(process.MainWindowHandle, panel1.Handle);
    }
};