好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

详解C#打开和关闭可执行文件

一、打开程序

先介绍System.Diagnostics.Process类:用来启动和停止进程的。
 

?

Process pr = new Process(); //声明一个进程类对象

    pr.StartInfo.FileName = "E://Program Files//Tencent//QQ//QQ.exe" ;//指定运行的程序,我的QQ的物理路径。

    pr.Start(); //运行QQ

还可以简单点: Process的静态方法Start();

?

Process.Start(String fileName);(+4重载) //filiName 是你要运行的程序名,是物理路径

Process.Start(String fileName, string arguments) //filiName 是你要运行的程序名,是物理路径;arguments启动改程序时传递的命令行参数

二、以刚才的QQ为例,进行解释
1、

?

Process[] proc = Process.GetProcessesByName( "QQ" ); //创建一个进程数组,把与此进程相关的资源关联。

    for ( int i = 0; i < proc.Length; i++)

    {

     proc[i].Kill(); //逐个结束进程.

    }

2、

?

Process[] p_arry = Process.GetProcesses(); //得到系统所有进程

    for ( int i = 0; i < p_arry.Length; i++) //遍历每个进程

    {

     if (p_arry[i].ProcessName == "QQ" ) //发现有名为QQ的进程

     {    

      p_arry[i].Kill(); //就结束它。

      return ;

     }

    }

    System.GC.Collect(); //垃圾回收

这个方法是有点耗资源,还有没有if判断就全部kill了,可以尝试进行使用。
三、程序

?

using System;

class test

{

static void Main()

{

 

//声明一个程序信息类

System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStartInfo();

 

//设置外部程序名

Info.FileName = "notepad.exe" ;

 

//设置外部程序的启动参数(命令行参数)为test.txt

Info.Arguments = "test.txt" ;

 

//设置外部程序工作目录为 C:\

Info.WorkingDirectory = "C:\\" ;

 

//声明一个程序类

System.Diagnostics.Process Proc ;

 

try

{

//

//启动外部程序

//

Proc = System.Diagnostics.Process.Start(Info);

}

catch (System.ComponentModel.Win32Exception e)

{

Console.WriteLine( "系统找不到指定的程序文件。\r{0}" , e);

return ;

}

 

//打印出外部程序的开始执行时间

Console.WriteLine( "外部程序的开始执行时间:{0}" , Proc.StartTime);

 

//等待3秒钟

Proc.WaitForExit(3000);

 

//如果这个外部程序没有结束运行则对其强行终止

if (Proc.HasExited == false )

{

Console.WriteLine( "由主程序强行终止外部程序的运行!" );

Proc.Kill();

}

else

{

Console.WriteLine( "由外部程序正常退出!" );

}

Console.WriteLine( "外部程序的结束运行时间:{0}" , Proc.ExitTime);

Console.WriteLine( "外部程序在结束运行时的返回值:{0}" , Proc.ExitCode);

}

}

以打开和关闭QQ应用程序为例进行学习,帮助大家更好的学习C#实现打开和关闭可执行文件的方法,希望对大家的学习有所帮助。

dy("nrwz");

查看更多关于详解C#打开和关闭可执行文件的详细内容...

  阅读:73次