C#操作进程的方法介绍
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。
下面为大家介绍C#是如何操作进程的。
1、获取当前程序中正在运行的所有进程
//1、获取本机所有进程 Process[] pro = Process.GetProcesses(); foreach (Process p in pro) { Console.WriteLine(p.ProcessName); }
2、杀死进程:调用Process.Kill()方法
//1、获取本机所有进程 Process[] pro = Process.GetProcesses(); foreach (Process p in pro) { //终止进程 p.Kill(); Console.WriteLine(p.ProcessName); }
3、通过进程打开应用程序
//2、通过进程打开应用程序 Process.Start("calc"); Process.Start("mspaint"); Process.Start("notepad"); Process.Start("iexplore", "http://www.baidu.com");
4、通过一个进程打开指定的文件
ProcessStartInfo psi = new ProcessStartInfo(@"C:\Users\Lenovo\Desktop\html.txt"); Process p = new Process(); p.StartInfo = psi; p.Start();
到此这篇关于C#操作进程的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
C#实现强制关闭当前程序进程
/// <summary> /// 运行DOS命令 /// DOS关闭进程命令(ntsd -c q -p PID )PID为进程的ID /// </summary> /// <param name="command"></param> /// <returns></returns> public static string RunCmd(string command) { //實例一個Process類,啟動一個獨立
-
C# 获取进程退出代码的实现示例
我需要写一个程序,让这个程序知道另一个程序是否正常退出,于是就需要获取这个进程的退出代码 在程序如果需要手动退出,可以设置当前的退出代码 static void Main(string[] args) { Environment.Exit(-100); } 这时的程序运行就退出,同时退出的代码就是 -100 这和 C 语言的在 main 函数返回值一样 在 C# 如果想要实现 C 语言的 main 函数的返回值,是通过调用 Environment.Exit 方法 那么其他程序如何拿到这个程序的退
-
C#启动进程的几种常用方法
本文实例讲述了C#启动进程的几种常用方法.分享给大家供大家参考.具体如下: 1.启动子进程,不等待子进程结束 private void simpleRun_Click(object sender, System.EventArgs e) { System.Diagnostics.Process.Start(@"C:\listfiles.bat"); } 2.启动子进程,等待子进程结束,并获得输出 private void runSyncAndGetResults_Click(objec
-
c# 进程内部的同步
在线程里,如果需要共享数据,那么一定需要使用同步技术,确保一次只有一个线程访问和改变共享数据的状态.在.net中,lock语句.Interlocked类和Monitor类可用于进程内部的同步. 1.lock语句与线程安全 lock语句是设置锁定和解除锁定的一种简单方式.在使用lock语句之前,先进入另一个争用条件.例如: public class SharedState { public int State { get; set; } } public class Job { SharedSta
-
如何使用C# 捕获进程输出
Intro 很多时候我们可能会需要执行一段命令获取一个输出,遇到的比较典型的就是之前我们需要用 FFMpeg 实现视频的编码压缩水印等一系列操作,当时使用的是 FFMpegCore 这个类库,这个类库的实现原理是启动另外一个进程,启动 ffmpeg 并传递相应的处理参数,并根据进程输出获取处理进度 为了方便使用,实现了两个帮助类来方便的获取进程的输出,分别是 ProcessExecutor 和 CommandRunner,前者更为灵活,可以通过事件添加自己的额外事件订阅处理,后者为简化版,主要是
-
C#获取所有进程的方法
在使用C#进行相关编程的时候,有时候我们需要获取系统相关的进程信息.那么在C#中如何获取系统的所有进程那?下面请跟小编一起来操作. 1.首先新建一个控制台程序,这里主要是为了方便演示,控制台程序相对比较简单,如下图所示: 2.然后导入进程相关的操作类,主要是diagnostics,如下图所示 3.然后我们调用Process类的GetProcesses方法,获取系统所以进程,注意是一个数组,图下图所示: 4.我们来看一下Process的相关解释说明,把鼠标放上去,看到如下图所示的内容 5.接下来我
-
c#进程之间对象传递方法
1. 起源 KV项目下载底层重构升级决定采用独立进程进行Media下载处理,以能做到模块复用之目的,因此涉及到了独立进程间的数据传递问题. 目前进程间数据传递,多用WM_COPYDATA.共享dll.内存映射.Remoting等方式.相对来说,WM_COPYDATA方式更为简便,网上更到处是其使用方法. 而且Marshal这个静态类,其内置多种方法,可以很方便实现字符串.结构体等数据在不同进程间传递. 那么,对象呢?如何传递? 2.序列化 想到了,Newtonsoft.Json.dll这个神器.
-
C#遍历系统进程的方法
本文实例讲述了C#遍历系统进程的方法.分享给大家供大家参考.具体实现方法如下: 建立一个listBox将进程名称遍历进去 this.listBox1.Items.Clear(); Process[] MyProcesses=Process.GetProcesses(); foreach(Process MyProcess in MyProcesses) { this.listBox1.Items.Add(MyProcess.ProcessName); } this.listBox1.Select
-
c# 如何实现不同进程之间的通信
进程之间的通信是为了解决不同进程之间的数据传输问题,这样可以让不同程序交互数据.实现进程通信的方式:1.剪切板:2.COM:3.内存映射文件:4.WCF 1.剪切板Clipboard在进程间传送对象 剪切板是一个供应用程序使用的公有区域.在.NET中定一个了一个DataFormats类,此类包含一些静态字段,定义了剪切板中可以存放的数据类型.使用Clipboard类可以向剪切板中放入数据. 如将文字放入剪切板,使用方法SetDataObject即可:Clipboard.SetDataObject
-
C#实现启动,关闭与查找进程的方法
本文实例讲述了C#实现启动,关闭与查找进程的方法.分享给大家供大家参考,具体如下: 运行效果截图如下: 查找/列出进程很容易,但干掉进程得借助系统命令ntsd.exe,详细用法见下面的代码 : using System; using System.Diagnostics; using System.Windows.Forms; namespace ProcessDemo { public partial class Form1 : Form { public Form1() { Initiali
-
C#中进程的挂起与恢复
1. 源起: 仍然是模块化编程所引发的需求.产品经理难伺候,女产品经理更甚之~:p 纯属戏谑,技术方案与产品经理无关,芋头莫怪! VCU10项目重构,要求各功能模块以独立进程方式实现,比如:音视频转换模块,若以独立进程方式实现,如何控制其暂停.继续等功能呢? 线程可以Suspend.Resume,c#内置的Process没有此类方法,咋整? 山穷水尽疑无路,柳暗花明又一村.情到浓时清转薄,此情可待成追忆! 前篇描述了进程间数据传递方法,此篇亦以示例演示其间控制与数据交互方法. 2.未公开的AP
-
如何利用c#实现通用守护进程
1. 下载 源码下载:http://files.cnblogs.com/tianzhiliang/CocoWatcher.rar 安装包下载:http://files.cnblogs.com/tianzhiliang/CocoWatcher_Setup.rar 本地下载:http://xiazai.jb51.net/201910/yuanma/CocoWatcher(jb51net).rar 2. 安装注意事项 在配置档中配置你要守护的应用程序,应用程序之间用逗号隔开: <?xml versio
随机推荐
- 用来分割文本的vbs脚本
- Ruby简明教程之循环语句介绍
- jquery实现文本框的禁用和启用
- AngularJS 异步解决实现方法
- tomcat6_apache2.2_ajp 负载均衡加集群实战分享
- Java Web开发入门书籍实例解析(总结一)
- Python中list列表的一些进阶使用方法介绍
- php切割页面div内容的实现代码分享
- asp 去除最后一个逗号为空字符串的代码
- MySQL压力测试方法 如何使用mysqlslap测试MySQL的压力?
- PHP实现图片压缩的两则实例
- javascript获取当前ip的代码
- C#实现ComboBox自动匹配字符
- Win7下安装MySQL5.7.16过程记录
- CentOS 7如何快速开放端口
- javascript实现html页面之间参数传递的四种方法实例分析
- jquery与js函数冲突的两种解决方法
- Python的装饰器使用详解
- Android根据电话号码获得联系人头像实例代码
- C#中系统时间和UNIX时间戳互相转换