C# 实现打开和关闭可执行文件

 一、打开程序。

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

   

Process pr = new Process();//声明一个进程类对象
pr.StartInfo.FileName = "E://Program Files//Tencent//QQ//QQ.exe";//指定运行的程序,我的QQ的物理路径。
pr.Start();//运行QQ

    

  2、还可以简单点: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);
}
}



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值