您的位置:首页 > 编程语言 > C#

用C#实现启动另一程序的方法

2008-08-21 10:49 573 查看
一段实例代码,程序的目的是使用C#实现启动另一程序的方法。

  private void btnCreate_Click(object sender, EventArgs e)

  ...{

  int hWnd = FindWindow(null, "test");//窗体名称

  //check if PowerReuse is launched or not

  //if yes, pass path of project to PowerReuse

  //or, launch PowerReuse with specified parameter

  if (hWnd > 0)

  ...{

  MessageBox.Show("powerReuse has been launched already." + " " + hWnd.ToString());

  //SendMessage to PowerReuse

  return;

  }

  try

  ...{

  Process Main_P = new Process();

  //this path should be retrieved from Windows Registry,

  //the loaction is written by Installter during process of installation.

  Main_P.StartInfo.FileName = @"C: est.exe";//

exe路径 

//This URL is passed to PowerReuse to open

  Main_P.StartInfo.Arguments = @"C:Tempabc.prj";//参数  Main_P.StartInfo.UseShellExecute = true;

  Main_P.Start();

  //

  //we have to wait for a while until UI has been initialized

  //

  Main_P.WaitForInputIdle(10000);

  //although UI has been initialzied,

  //it does not mean main form of application has been completed.

  //we may wait for another 10 seconds

  for (int i = 0; i < 100; i++)

  ...{

  hWnd = FindWindow(null, "PowerReuse (Beta)");

  //hWnd = Main_P.MainWindowHandle.ToInt32() ;

  if (hWnd > 0) break;

  Thread.Sleep(100);

  }

  //Here, we check if PowerReuse is fully launched

  if (hWnd == 0)

  ...{

  //Handle exception

  MessageBox.Show("We cannot find window handle of PowerReuse");

  }

  else

  ...{

  //other handling

  //

  MessageBox.Show(hWnd.ToString() + " " + Main_P.MainWindowHandle.ToString() + " " + Main_P.MainWindowTitle);

  }

  }

  catch (Exception ex)

  ...{

  MessageBox.Show(ex.Message);

  }

  }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: