详解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#实现打开和关闭可执行文件的方法,希望对大家的学习有所帮助。
栏 目:C#教程
下一篇:分享我在工作中遇到的多线程下导致RCW无法释放的问题
本文标题:详解C#打开和关闭可执行文件
本文地址:https://www.xiuzhanwang.com/a1/C_jiaocheng/6794.html
您可能感兴趣的文章
- 01-10C#通过反射获取当前工程中所有窗体并打开的方法
- 01-10关于ASP网页无法打开的解决方案
- 01-10C#实现Winform中打开网页页面的方法
- 01-10Extjs4如何处理后台json数据中日期和时间
- 01-10C#实现打开画图的同时载入图片、最大化显示画图窗体的方法
- 01-10C#及WPF获取本机所有字体和颜色的方法
- 01-10C#中Socket通信用法实例详解
- 01-10同步调用和异步调用WebService
- 01-10C#编程自学之数据类型和变量二
- 01-10C#编程自学之数据类型和变量三
阅读排行
本栏相关
- 01-10C#通过反射获取当前工程中所有窗体并
- 01-10关于ASP网页无法打开的解决方案
- 01-10WinForm限制窗体不能移到屏幕外的方法
- 01-10WinForm绘制圆角的方法
- 01-10C#实现txt定位指定行完整实例
- 01-10WinForm实现仿视频播放器左下角滚动新
- 01-10C#停止线程的方法
- 01-10C#实现清空回收站的方法
- 01-10C#通过重写Panel改变边框颜色与宽度的
- 01-10C#实现读取注册表监控当前操作系统已
随机阅读
- 01-10delphi制作wav文件的方法
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 01-11ajax实现页面的局部加载
- 01-10C#中split用法实例总结
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 04-02jquery与jsp,用jquery
- 01-10SublimeText编译C开发环境设置