Как я могу получить другое запущенное приложение на панели моей программы на C#?

То, что я пытаюсь сделать, это перехватить другое работающее приложение и прикрепить его к панели в моей форме, примерно так:

   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 ответ

Решение

Попробуй это:

foreach (var process in Process.GetProcesses())
{
    if (process.ProcessName == "notepad")
    // or
    //if (process.MainWindowTitle == "Untitled - Notepad")
    {
        SetParent(process.MainWindowHandle, panel1.Handle);
    }
};
Другие вопросы по тегам