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

 更新时间:2013年07月24日 11:02:50   作者:  
一段实例代码,程序的目的是使用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);
  }
  }

相关文章

  • C#实现简单的二叉查找树

    C#实现简单的二叉查找树

    这篇文章介绍了C#实现二叉查找树的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • C#如何修改项目名图文详解

    C#如何修改项目名图文详解

    最近开发工作接近尾声,客户来要求更换项目的名称,差不多要变更整个解决方案中项目名称,引用等等,这个工作量还是很大的,这篇文章主要给大家介绍了关于C#如何修改项目名的相关资料,需要的朋友可以参考下
    2023-01-01
  • c# 圆形识别方案和直线识别方案的参考示例

    c# 圆形识别方案和直线识别方案的参考示例

    这篇文章主要介绍了c# 圆形识别方案和直线识别方案的实现示例,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-03-03
  • js substr,substring与java substring和C# substring的区别解析

    js substr,substring与java substring和C# substring的区别解析

    本篇文章主要是对js中substr,substring与java中substring和C#中substring的区别进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • C#常用数据结构栈的详细介绍

    C#常用数据结构栈的详细介绍

    在C#中,Stack<T> 是一个后进先出(LIFO,Last-In-First-Out)集合类,位于System.Collections.Generic 命名空间中,本文详细介绍C#常用数据结构栈,感兴趣的朋友跟随小编一起看看吧
    2024-09-09
  • C#实现的基于二进制读写文件操作示例

    C#实现的基于二进制读写文件操作示例

    这篇文章主要介绍了C#实现的基于二进制读写文件操作,结合具体实例形式分析了C#以二进制文件流形式针对文件进行读写操作的相关技巧,需要的朋友可以参考下
    2017-07-07
  • C#实现多线程启动停止暂停继续的示例代码

    C#实现多线程启动停止暂停继续的示例代码

    本文主要介绍了C#实现多线程启动停止暂停继续的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-01-01
  • C# 异步返回类型的几种方式

    C# 异步返回类型的几种方式

    异步编程已经成为一种重要的编程范式,本文主要介绍了C#异步返回类型的几种方式,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2024-03-03
  • ScriptControl控件执行自定义VBS脚本示例分析

    ScriptControl控件执行自定义VBS脚本示例分析

    这篇文章主要介绍ScriptControl控件 msscript.ocx msscript.oca执行自定义VBS脚本的示例代码,需要的朋友可以参考下
    2013-04-04
  • C#适用于like语句的SQL格式化函数

    C#适用于like语句的SQL格式化函数

    这篇文章主要介绍了C#适用于like语句的SQL格式化函数,可实现对字符串进行sql格式化,并且符合like查询的格式,非常实用,需要的朋友可以参考下
    2014-10-10

最新评论