C# Winform Application.Ilde事件的问题。请帮忙看看,谢谢!

类似photoshop这样启动很慢的程序,无法直接抓取到软件的主窗体嵌入到panel控件中,通过Application.Ilde事件实现在被嵌程序加载完毕后才将其窗体嵌入panel控件。
但是实际情况,有时候无法抓取到被嵌程序的主窗体,是不是Application.Ilde事件哪个地方写的不对?还是其它的地方写的有问题?请帮忙修改下,谢谢!
代码如下:

    public Form1()
    {
        InitializeComponent();
    Application.Idle += new EventHandler(Open);

    }

    private void Open(object sender, EventArgs e)
    {
            Process m_Process = null; 
    m_Process = new Process();
    m_Process.StartInfo.FileName = @"C:\Program Files\Adobe\Adobe Photoshop CS2\Photoshop.exe";
    m_Process.Start();

    IntPtr ptr = API.SetParent(m_Process.MainWindowHandle, this.panel1);

            Application.Idle -= new EventHandler(Open);
    }

Application.Ilde没有你说的功能

那有没有其它方法实现上面的功能呢?