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

(0)

相关推荐

  • C#中执行批处理文件(*.bat)的方法代码

    复制代码 代码如下: static void Main(string[] args){    Process proc = null;    try    {                        string targetDir = string.Format(@"D:\adapters\setup");//this is where mybatch.bat lies        proc = new Process();        proc.StartInfo.Wor

  • C#实现将记事本中的代码编译成可执行文件的方法

    本文实例讲述了C#实现将记事本中的代码编译成可执行文件的方法,运行环境为VS2012,具体方法如下: 1.在记事本中编写如下代码: using System; namespace HelloWorld { public class Program { static void Main(string[] args) { Console.WriteLine("Hello,World"); Console.ReadKey(); } } } 2.保存为HelloWorld.txt,位置在F:\

  • C#使用FolderBrowserDialog类实现选择打开文件夹方法详解

    1.在C#中使用FolderBrowserDialog类,就可以实现选择文件夹的功能,并将所选择的的文件夹路径记录下来. (1).首先先引入命名空间System.Windows.Forms; (2).然后在应用程序的主入口点,也就是static void Main()方法上面加上[STAThread]属性; 复制代码 代码如下: /// <summary>        /// 应用程序的主入口点.        /// </summary>        [STAThread] 

  • C#使用Streamwriter打开文件的方法

    本文实例讲述了C#使用Streamwriter打开文件的方法.分享给大家供大家参考.具体如下: using System; using System.IO; public class KtoD1 { public static void Main() { string str; StreamWriter fstr_out; // Open the file directly using StreamWriter. try { fstr_out = new StreamWriter("test.t

  • C#如何打开并读取usb的文件目录

    下面我通过一个小例子并结合一段代码片段给大家展示下,有需要的朋友可以来借鉴下. 界面上拖一个 button 和treeview  ,运行的时候直接插入优盘,单机按钮就会出现目录文件.不过只能在u盘插入,U盘拔出时,才能接收到信息. 1.[C#]代码 using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; usi

  • 详解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 fil

  • 详解VSCode打开多个项目文件夹的解决方法

    最近从sublime转vscode,自然而然就会把sublime的一些习惯带过来,其中有一点让人头疼的是: 当把一个文件夹拖进vscode里面的时候,会把原来的文件夹覆盖掉,这就意味着不能同时在vscode中打开多个文件夹,用过sublime的同学都知道直接把文件夹拖进去就可以了,如下图: 那么怎么解决不能同时在vscode中打开多个文件夹的问题呢? 相信大部分人都会百度答案的,那么在别人的答案里,都可以说是不怎么完美.先来看下别人的方法: 第一种:新建VSCode窗口 第二种:用一个文件夹 可

  • C语言 文件的打开与关闭详解及示例代码

    在C语言中,文件操作都是由库函数来完成的,这节介绍文件的打开和关闭. 文件的打开(fopen函数) fopen() 函数用来打开一个文件,它的原型为: FILE *fopen(char *filename, char *mode); filename为文件名(包括文件路径),mode为打开方式,它们都是字符串.fopen() 会获取文件信息,包括文件名.文件状态.当前读写位置等,并将这些信息保存到一个FILE类型的结构体变量中,然后将该变量的地址返回. FILE是在stdio.h头文件中定义的一

  • DBA_Oracle Startup / Shutdown启动和关闭过程详解(概念)(对数据库进行各种维护操作)

    一.摘要 Oracle数据库的完整启动过程是分步骤完成的,包含以下3个步骤: 启动实例-->加载数据库-->打开数据库 因为Oracle数据库启动过程中不同的阶段可以对数据库进行不同的维护操作,对应我们不同的需求,所以就需不同的模式启动数据库. 1. Oracle启动需要经历四个状态:SHUTDOWN .NOMOUNT .MOUNT .OPEN 2. Oracle关闭的四种方式:Normal, Immediate, Transactional, Abort 3. 启动和关闭过程详解   二.数

  • Bootstrap 模态框自定义点击和关闭事件详解

    模态框避免点击背景处关闭: 1.div初始化时添加属性 aria-hidden="true" data-backdrop="static" <div class="modal fade" id="edit" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden='true'

  • 易语言数据库“全部关闭”命令详解

    本命令关闭当前已经被打开的所有数据库. 语法: 无返回值 全部关闭 () 例程: 说明: 启动窗口创建完毕和"打开数据库"按钮被按下都会打开2个数据库,"全部关闭"按钮被按下后,会运行"全部关闭()"命令,当前所有被打开的数据库都将被关闭,标签会显示当前"没有打开数据库".当启动窗口将被销毁前也会运行"全部关闭()"命令,在程序结束运行前将打开的数据库全部关闭. 到此这篇关于易语言数据库"全部关闭

  • 易语言数据库操作的“是否已打开”命令详解

    如果指定数据库文件已经被打开,返回真,否则返回假. 语法: 逻辑型 是否已打开 (欲测试的数据库文件名) 参数名 描 述 欲测试的数据库文件名 必需的:文本型. 例程: 说明: 当运行"全部关闭()"命令后,使用"是否已关闭 ()"命令来判断被关闭命令是否确实被关闭,如果都被关闭,则"当前打开库标签" 显示 "当前没有被打开数据库". 到此这篇关于易语言数据库操作的"是否已打开"命令详解的文章就介绍到这了,

  • 探索浏览器页面关闭window.close()的使用详解

    说起来window.close(),这也是个"不太让人省心"的角色.因为浏览器兼容性千差万别,还对他有诸多限制. 使用语法: window.close() 场景复现 昨天发现有人在csdn上传违禁文件,举报后来到了这个页面: 里面那个按钮发现点击无效! 就...当时就挺尴尬的. 不过既然它说是[关闭],当时就想到了这个堪称"漏洞百出"的close事件,F12打开控制台一看:果不其然 看到这顿时就来了兴趣 探索过程和解决方案 为什么就突然来了兴趣呢? 首先,从这行代码

  • Mysql服务器的安装配置与启动关闭方法详解

    1.官网下载: https://dev.mysql.com/downloads/ 找到Mysql Community Server 点击 点击download下载,可以选择下载路径,我下载在d盘: 下载好了需要: 新建mysql.ini文件 内容: [mysql] 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置3306端口 port = 3306 设置mysql的安装目录 basedir=D:\java web\mysql\mysq

  • Python程序打包成可执行文件exe详解流程

    今天给大家分享个可视化 Python 打包神器,欢迎点赞支持,文末提供技术交流群. 1. 什么是 auto-py-to-exe auto-py-to-exe 是一个用于将Python程序打包成可执行文件的图形化工具.本文就是主要介绍如何使用 auto-py-to-exe 完成 python 程序打包.auto-py-to-exe 基于 pyinstaller ,相比于 pyinstaller ,它多了 GUI 界面,用起来更为简单方便 2.安装 auto-py-to-exe 首先我们要确保我们的

随机推荐