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

 更新时间:2015年12月03日 10:19:09   作者:Medeor  
这篇文章主要介绍了C#打开和关闭可执行文件,以QQ应用程序为例,需要的朋友可以参考下

一、打开程序

先介绍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#实现打开和关闭可执行文件的方法,希望对大家的学习有所帮助。

相关文章

  • C#操作Word打印的示例

    C#操作Word打印的示例

    这篇文章主要介绍了C#操作Word打印的示例,帮助大家利用c#打印文件,提高办公效率,感兴趣的朋友可以了解下
    2020-10-10
  • C#如何实现dataGridView动态绑定数据

    C#如何实现dataGridView动态绑定数据

    这篇文章主要介绍了C#如何实现dataGridView动态绑定数据,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • C#控制台程序使用Log4net日志组件详解

    C#控制台程序使用Log4net日志组件详解

    这篇文章主要为大家详细介绍了C#控制台程序使用Log4net日志组件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • C#中DataTable 转实体实例详解

    C#中DataTable 转实体实例详解

    这篇文章主要介绍了C#中DataTable 转实体实例详解,需要的朋友可以参考下
    2017-04-04
  • C#实现Word转换TXT的方法详解

    C#实现Word转换TXT的方法详解

    这篇文章主要为大家详细介绍了如何利用C#实现Word转换TXT的功能,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以跟随小编一起了解一下
    2022-12-12
  • C# wpf实现任意控件更多拖动功能

    C# wpf实现任意控件更多拖动功能

    这篇文章主要为大家详细介绍了C# wpf如何实现任意控件(包括窗口)更多拖动功能,文中的示例代码讲解详细,有兴趣的小伙伴可以跟随小编一起学习一下
    2023-11-11
  • C#自定义转换器的实现

    C#自定义转换器的实现

    本文主要介绍了C#自定义转换器的实现,包括隐式转换和显式转换的语法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-01-01
  • 深入理解C#之枚举

    深入理解C#之枚举

    这篇文章主要介绍了C#中可枚举类型,IEnumerable和IEnumerator接口及其泛型实现和迭代器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • 解析c# yield关键字

    解析c# yield关键字

    这篇文章主要介绍了c# yield关键字的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-08-08
  • C#获取计算机硬件与操作系统的相关信息

    C#获取计算机硬件与操作系统的相关信息

    这篇文章介绍了C#获取计算机硬件与操作系统相关信息的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04

最新评论