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

一段实例代码,程序的目的是使用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";//咝械膃xe路徑
//This URL is passed to PowerReuse to open
Main_P.StartInfo.Arguments = @"C:Tempabc.prj";//咝袝r的參數
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);
}
}

时间: 2024-10-31 09:45:06

用C#实现启动另一程序的方法实例的相关文章

Android编程实现在一个程序中启动另一个程序的方法

本文实例讲述了Android编程实现在一个程序中启动另一个程序的方法.分享给大家供大家参考,具体如下: Android 开发有时需要在一个应用中启动另一个应用,比如Launcher加载所有的已安装的程序的列表,当点击图标时可以启动另一个应用. 一般我们知道了另一个应用的包名和MainActivity的名字之后便可以直接通过如下代码来启动: Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEG

JS仿Windows开机启动Loading进度条的方法

 这篇文章主要介绍了JS仿Windows开机启动Loading进度条的方法,实例分析了javascript操作html元素及对应样式实现特效的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了JS仿Windows开机启动Loading进度条的方法.分享给大家供大家参考.具体实现方法如下:   代码如下: <html> <title>JS仿Windows开机启动的Loading进度条</title> </head> <body st

Outlook 2007中启动新闻组阅读程序

新闻组阅读程序也就是新闻阅读程序,用于访问各种类型的新闻组 (新闻组:由个人投递到新闻服务器的邮件的集合,服务器为由公司.小组或个人维护的计算机.有些新闻组有人监控,而大多数则没有,这时具有新闻组访问权限的任何人都可以投递和阅读邮件.).下载和阅读新闻邮件以及回复邮件.利用新闻组,与您使用相同产品或技术的人员可以为您提供有价值的信息,或者可利用新闻组了解其他人对主题的看法.实际上,您可以在 Internet 或公司的 Intranet 上找到有关任何主题的新闻组. 如果以前未安装新闻阅读程序.则

在Linux终端中使用后台运行模式启动程序的方法

  我们有很多可以在Linux系统中打开一个终端窗口的方法,这取决于你的选择以及你的桌面环境. 如果是使用Ubuntu的话,你可以利用CTRL+ALT+T组合键打开终端.当然你也可以使用超级键(Windows键)打开Dash,搜索"TERM",然后点击"Term"图标来打开终端窗口. 对于其他的桌面环境来说,例如XFCE.KDE.LXDE.Cinnamon以及MATE,你可以在菜单中找到终端.有些环境会在停靠栏或者面板上面包含终端图标. 通常情况下,你可以在终端里面

用spark-submit启动Spark应用程序

用spark-submit启动Spark应用程序 bin/spark-submit脚本负责建立包含Spark以及其依赖的类路径(classpath),它支持不同的集群管理器以及Spark支持的加载模式. /bin/spark-submit \ --class --master \ --deploy-mode \ --conf = \ ... # other options \ [application-arguments] 一些常用的选项是: --class :你的应用程序的入口点(如org.a

Android使用Intent启动其他非系统应用程序的方法_Android

本文实例讲述了Android使用Intent启动其他非系统应用程序的方法.分享给大家供大家参考,具体如下: android应用程序内部通过Intent来实现Activity间的跳转.也知道通过Intent调用系统程序.但若想在应用程序A内开启应用程序B(前提是A.B均已安装),该如何去实现? 记录下实现过程. 在应用程序A内添加如下代码: Intent i = new Intent(); i.setClassName("com.example.a", "com.example

广告-在android应用程序中启动其他apk程序,被启动程序退出后返回之前的程序

问题描述 在android应用程序中启动其他apk程序,被启动程序退出后返回之前的程序 大家好,我现在遇到这样的情况,我目前做的是一个android积分墙的项目,用户通过我的这个项目app做任务下载一个广告,当用户进入到我们的下载广告的apk 后,玩了一段时间后(玩了一段时间才会给积分),点击后退,当前的 广告apk 是退出了,同时我们的项目也退出了(原本我们的项目逻辑是不会退出的),回到了桌面......我们自己测试的时候并没有出现这样的情况,但是用户遇到了,并且用户反馈再次重启手机的时候,再

VB 6.0 在界面上点击,启动另一个程序,并且把点击转调用过去

问题描述 VB 6.0 在界面上点击,启动另一个程序,并且把点击转调用过去 VB 6.0 在界面上点击,启动另一个程序,并且把点击转调用过去,另一个程序的运算结果返回我的程序怎么做? 解决方案 可以借助剪贴板.文件系统或者管道或者消息传数据.

问个问题~~~~在页面上启动本地exe程序

问题描述 在java写的页面上有一个按钮,用来启动本地exe程序的,AcrtivexControl.RunProgram(......)通过传递命令函参数启动的,启动之后,exe程序需要手动点击按钮执行一个操作,但是操作在执行过程中被卡死了,或者叫被阻塞了,但是窗口不是出于未响应状态的,在任务管理器中显示也是exe程序正在执行.但是程序就是不往下走,这是什么原因呢????什么问题导致的??? 解决方案