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

时间:2021-05-19

一、打开程序

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章