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

sxl_88 2015-05-15 02:59:26
类似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);
}
...全文
214 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
於黾 2015-05-27
  • 打赏
  • 举报
回复
你这样的写法就相当于这样 void function() { function(); } 要么永远得不到执行,一执行就停不下来
於黾 2015-05-27
  • 打赏
  • 举报
回复
你怎么把m_Process.Start();这东西写进 Application.Idle的回调事件里了?? 它什么时候执行??
sxl_88 2015-05-27
  • 打赏
  • 举报
回复
请各位帮忙看看,谢谢
sxl_88 2015-05-26
  • 打赏
  • 举报
回复
请各位帮忙看看,谢谢。

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧