C#如何打开一个进程,以及获取该进程结束的事件

【WorkBuddy专栏】完结篇暨付费专栏总目录(内容继续更新中) 【WorkBuddy专栏】完结篇和付费内容总目录 阅读详情

namespace rooksoft.Demo {

public class OpenProcess {
   //静态变量表示当前程序运行中
   static bool IsRunning = true;
   public static void Main() {
    //建立一个进程对象
    System.Diagnostics.Process p = new System.Diagnostics.Process();
    //添加该进程结束事件处理函数
    p.Exited += new System.EventHandler(OpenProcess.Process_OnExit);
    p.EnableRaisingEvents = true;
    p.SynchronizingObject = null;
    p.StartInfo.FileName = "notepad.exe";
    //启动进程
    p.Start();
    //保持程序运行
    while (IsRunning) {
     System.Threading.Thread.Sleep(1000);
    }
   }
   //进程结束事件处理函数
   static void Process_OnExit(object sender, System.EventArgs e) {
    System.Windows.Forms.MessageBox.Show("Notepad was closed");
    IsRunning = false;
    //把标示设置成false
   }
}
}

Python 实现生命游戏及进化模拟完整指南 生命模拟是进化计算的一个特定子集,模拟了自然界中所观察到的自然过程,例如粒子或鸟群的聚集方式。生命模拟只是用来探索和优化问题的模拟形式之一,还有很多其他形式的模拟,可以更好地建模各种过程,但它们都源于康威生命游戏 (Conway’s Game of Life)。在本节中,我们将介绍生命模拟的基本概念,并使用 Python 实现康威生命游戏。 阅读详情

相关推荐

使用C#实现的Windows进程管理系统

本文还有配套的精品资源,点击获取 简介:Windows进程管理涉及系统资源的分配与调度,是操作系统核心功能之一。C#语言利用.NET框架提供的丰富API,特别是System.Diagnostics命名空间下的Process类,可以轻松实现对Windows进程的控制。本文将详细介绍C#进程管理中的应用,包括进程的创建、监控、控制和结束等操作,并介绍如何通过C#进行进程间通信...

weixin_30995917的博客 1557

C#获取进程,结束进程

// 获取系统内所有进程            System.Diagnostics.Process[] currentprocess = System.Diagnostics.Process.GetProcesses();            foreach (System.Diagnostics.Process p in currentprocess)            {       

Neok HOME 1374

csharp结束进程

采用两种方式结束进程。 1、调用cmd.ext 2、调用process.kill()

c# 运行进程,并获取进程执行结果

static void Main(string[] args) { Process process = new Process(); process.StartInfo.FileName = AppDomain.CurrentDomain.BaseDirectory + "myTest.exe"; proc...

weixin_30346033的博客 1069

获取进程名的两种方法

方案一: 目前网上主流的方案 public static String getProcessName(Context cxt, int pid) { ActivityManager am = (ActivityManager) cxt.getSystemService(Context.ACTIVITY_SERVICE); List<RunningAppProcess...

流水mpc 1733

C# 结束进程的解决方法

结束进程的方法有: 方法一:使用Kill()方法,查找到指定的进程名,然后调用Kill()方法杀死进程; System.Diagnostics.Process[] process = System.Diagnostics.Process.GetProcessesByName("notepad"); foreach (System.Diagnostics.Process p in process) { p.Kill(); } 或者 System.Diagnostics.Process[] myP

^@^lemon tea^@^ 1万+

c# 结束进程

C#结束进程的方式主要有一下几种,都是由网络上收集而来: 1.直接调用进行对象的Close()函数,用于对进程结束时存在可能退出不完全的情况。  如在当前窗口不是主体窗口的时候,则只是关闭当前窗口,是无法退出程序的。 另外若有托管线程(非主线程),也无法干净地退出; 2.Application.Exit();  强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法

taizuduojie的博客 4292

启动一个进程并处理进程结束事件

 做Java或者其他语言的朋友应该深有体会,如果在程序中打开一个进程,如何得到改进成结束事件是非常麻烦的。现在好了C#给我们带了非常的便利,下面讲演示如何打开一个进程,以及获取进程结束事件。namespace rooksoft.Demo { public class OpenProcess {  //静态变量表示当前程序运行中  static bool IsRunning = true;

RookIE端口 1474

C# 结束进程

代码 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using Sy...

211

关于进程退出的事件

问题: 直接停止调试,进程不退出 方案:用一个程序监控另一个程序的Process.Exited事件,比如在Main程序中监视Note.exe,即使Note.exe进程被强制结束,note.exe的Exited仍然会运行的。 //主程序 static void Main() { //打开记事本 var pro = new Process(); pro.StartInfo.FileName = "notepad"; pro.EnableRaisingEvents = t

sinat_31608641的博客 605

C# 进程管理 Process的常用属性与方法

进程(Process)是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源。进程之间是相对独立的,一个进程无法直接访问另一个进程的数据(除非分布式),一个进程运行的失败也不会影响其他进程的运行,Windows系统就是利用进程把工作划分为多个独立的区域的。   进程可以理解为一个程序的基本边界。 一、Process的常用属性与方法   在System.Diagnostics命名空间当中存在Process类,专门用于管理进程的开始、结束,访问进程中的模块,获取进程中的线程,设定进程的优先

山河明月 1万+

启动一个进程并处理进程结束事件 (转)

启动一个进程并处理进程结束事件 (转)[@more@]做Java或者其他语言的朋友应该深有体会,如果在程序中打开一个进程,如何得到改进成结束事件是非常麻烦的。现在好了C#给我们带了非常的便利,下面讲演示如何打开一个进程,以及...

csd3176的博客 128

C#中调用外部exe的使用、调用powershell、退出进程、委托和事件

针对几种情况,简单总结学习一下目前有一个工具需要cmd窗口打开工具界面,工具中无法关闭自身,必须关掉cmd窗口才可以。在C#中调用工具,cmd窗口未出现。使用bat,批处理命令,可以同时打开cmd窗口和工具界面,C#再调用此bat.调用的exe实时显示在窗口的,可以采用bat的方式来实现。System.Diagnostics.Process类:用来启动和停止进程的。1、Process pr = n...

有塔耶奥多的专栏 4037

c# Process监控进程 与 ManagementEventWatcher 监控进程

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||...

北京-老黑的博客 3897

C# 进程与线程 操作

using System.Diagnostics;//进程的命名空间               //利用进程可以打开一些应用程序             Process.Start("calc"); //计算器             Process.Start("mspaint"); // 画图工具             Process.Start("notepad");// 记事

有塔耶奥多的专栏 3224

C#的process进程的处理

查找进程、启用进程、关闭进程 using …… using …… using System.Diagnostics; //启用进程 void process() { Process p;//实例化一个Process对象 p=Process.Start(@“E:\1.txt”);//要开启的进程(或 要启用的程序),括号内为绝对路径 p.Kill();//结束进程 } //查找进程结束进程 void killProcess() { Process[] pro = Process.GetProcesses(

qq_45835940的博客 2019

NET(C#):关于进程退出的事件

对于当前程序,Process.Exited事件并不起作用,如下代码: static void Main() { var pro = Process.GetCurrentProcess(); pro.EnableRaisingEvents = true; pro.Exited += new EventHandler(pro_Exited); } static void

bruce135lee的专栏 7078

C#进程的应用(网络编程)

C#进程的应用,获取本机名,进程ID号,进程数,cpu时间,内存数量

Zhangaihua 1511

C#进程间通信方式汇总

一、进程间通讯的方式 进程间通讯的方式有很多,常用的有共享内存(内存映射文件、共享内存DLL、剪切板等)、命名管道和匿名管道、发送消息等几种方法来直接完成,另外还可以通过socket口、配置文件和注册表等来间接实现进程间数据通讯任务。以上这几种方法各有优缺点,具体到在进程间进行大数据量数据的快速交换问题上,则可以排除使用配置文件和注册表的方法;另外,由于管道和socket套接字的使用需要有网卡的支持,因此也可以不予考虑。这样,可供选择的通讯方式只剩下共享内存和发送消息两种。 二、发送消息实现进程间通讯前

u011555996的博客 4880

ANSI CAN UL ULC 2271_2023_中文版 轻型电动车(LEV) 应用中使用的电池的UL安全标准.rar

ANSI CAN UL ULC 2271_2023_中文版 轻型电动车(LEV) 应用中使用的电池的UL安全标准.rar

上一篇: 选择排序
下一篇: c#基础概念之internal 修饰符有什么作用
acefly
博客等级 码龄19年 3粉丝 14原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值