C#使用Process类调用外部程序分解

C#使用Process类调用外部程序分解,第1张

概述在程序开发中,一个程序经常需要去调用其他的程序,C#中Process类正好提供了这样的功能。它提供对本地和远程进程的访问并使您能够启动和停止本地系统进程。 @H_403_0@在程序开发中,一个程序经常需要去调用其他的程序,C#中Process类正好提供了这样的功能。它提供对本地和远程进程的访问并使您能够启动和停止本地系统进程。

一、启动进程实例
复制代码 代码如下:
Process myProcess = new Process();  
try 
{  
    myProcess.StartInfo.UseShellExecute = false;  
    myProcess.StartInfo.filename = "test.exe";  
    myProcess.StartInfo.CreateNowindow = true;  
    myProcess.Start();  
}  
catch (Exception e)  
{  
    Console.Writeline(e.Message);  

@[email protected] 方法,启动(或重用)此 Process 组件的 StartInfo 属性指定的进程资源,并将其与该组件关联。如果启动了进程资源,则为 true;如果没有启动新的进程资源(例如,如果重用了现有进程),则为 false。

@[email protected] 属性,获取或设置要传递给 Process 的 Start 方法的属性。StartInfo 表示用于启动进程的一组参数。 调用 Start 时,StartInfo 用于指定要启动的进程。 唯一必须设置的 StartInfo 成员是 filename 属性。

@[email protected] 属性,获取或设置要启动的应用程序或文档。filename 属性不需要表示可执行文件。 它可以是其扩展名已经与系统上安装的应用程序关联的任何文件类型。

@[email protected]属性,获取或设置指示是否在新窗口中启动该进程的值。

@H_403_0@二、关掉启动进程

@[email protected] 方法,立即停止关联的进程。Kill 强制终止进程,Kill 方法将异步执行。 在调用 Kill 方法后,请调用 WaitForExit 方法等待进程退出,或者检查 HasExited 属性以确定进程是否已经退出。

@H_403_0@三、进程结束后调用其他方法

@H_403_0@在调用某个进程结束后,我们通常需要执行其他的方法,比如,在做安装程序时,需要先判断.Net Framework环境是否安装,若未安装,则先调用.NET Framework安装程序后,继续运行安装程序方法。
通常这种情况下,有两种方法:

@H_403_0@方法一:WaitForExit()方法。这种方法会阻塞当前进程,直到运行的外部程序退出。
复制代码 代码如下:Sy@[email protected] exep = Sy@[email protected](@"C:\windows\Notepad.exe");  
exep.WaitForExit();//关键,等待外部程序退出后才能往下执行  
MessageBox.Show("Notepad.exe运行完毕");

@H_403_0@上述代码在Notepad.exe记事本结束之后,d出对话框。

@H_403_0@方法二:Exited 事件。为外部进程添加一个事件监视器,当退出后,获取通知,这种方法时不会阻塞当前进程,你可以处理其它事情。
复制代码 代码如下:Sy@[email protected] exep = new Sy@[email protected]();  
exep.StartInfo.filename = @"C:\windows\Notepad.exe";  
exep.EnableRaisingEvents = true;  
exep.Exited += new EventHandler(exep_Exited);  
exep.Start();  
 
voID exep_Exited(object sender,EventArgs e)  
{  
MessageBox.Show("Notepad.exe运行完毕");  

在事件结束之后,调用Exited 事件方法。

@H_403_0@对于在C#程序开发中调用外部程序的 *** 作,要判断这个被调用的EXE文件是否执行结束其实最跟本的是 Sy@[email protected]类的应用,其中有一个方法,就是WaitForExit();和HasExited属性,这两个也 都是为判断外部程序exe文件的执行状态而设计的,HasExited=ture时表示执行结束.

您可能感兴趣的文章:C#实现的Socket服务器端、客户端代码分享客户端实现蓝牙接收(C#)知识总结在C#中对TCP客户端的状态封装详解C#聊天程序服务端与客户端完整实例代码asp.net(C#)中给控件添加客户端js事件的方法C#调用执行外部程序的实现方法C#客户端程序调用外部程序的3种实现方法 总结

以上是内存溢出为你收集整理的C#使用Process类调用外部程序分解全部内容,希望文章能够帮你解决C#使用Process类调用外部程序分解所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1253308.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存