场景

效果

System.Diagnostics.Process

提供对本地和远程进程的访问权限并使你能够启动和停止本地系统进程。

示例代码

using System;
using System.Diagnostics;
using System.ComponentModel;namespace MyProcessSample
{class MyProcess{public static void Main(){try{using (Process myProcess = new Process()){myProcess.StartInfo.UseShellExecute = false;// You can start any process, HelloWorld is a do-nothing example.myProcess.StartInfo.FileName = "C:\\HelloWorld.exe";myProcess.StartInfo.CreateNoWindow = true;myProcess.Start();// This code assumes the process you are starting will terminate itself.// Given that is is started without a window so you cannot terminate it// on the desktop, it must terminate itself or you can do it programmatically// from this application using the Kill method.}}catch (Exception e){Console.WriteLine(e.Message);}}}
}

属性

BasePriority 
获取关联进程的基本优先级。
CanRaiseEvents 
获取一个指示组件是否可以引发事件的值。 (Inherited from Component)
Container 
获取 IContainer,它包含 Component。 (Inherited from Component)
DesignMode 
获取一个值,用以指示 Component 当前是否处于设计模式。 (Inherited from Component)
EnableRaisingEvents 
获取或设置在进程终止时是否应引发 Exited 事件。
Events 
获取附加到此 Component 的事件处理程序的列表。 (Inherited from Component)
ExitCode 
获取关联进程终止时指定的值。
ExitTime 
获取关联进程退出的时间。
Handle 
获取关联进程的本机句柄。
HandleCount 
获取由进程打开的句柄数。
HasExited 
获取指示关联进程是否已终止的值。
Id 
获取关联进程的唯一标识符。
MachineName 
获取关联进程正在其上运行的计算机的名称。
MainModule 
获取关联进程的主模块。
MainWindowHandle 
获取关联进程主窗口的窗口句柄。
MainWindowTitle 
获取进程的主窗口标题。
MaxWorkingSet 
获取或设置关联进程允许的最大工作集大小(以字节为单位)。
MinWorkingSet 
获取或设置关联进程允许的最小工作集大小(以字节为单位)。
Modules 
获取已由关联进程加载的模块。
NonpagedSystemMemorySize 
获取为关联的进程分配的非分页系统内存量(以字节为单位)。
NonpagedSystemMemorySize64 
获取为关联的进程分配的非分页系统内存量(以字节为单位)。
PagedMemorySize 
获取为关联的进程分配的分页内存量(以字节为单位)。
PagedMemorySize64 
获取为关联的进程分配的分页内存量(以字节为单位)。
PagedSystemMemorySize 
获取为关联进程分配的可分页系统内存量(以字节为单位)。
PagedSystemMemorySize64 
获取为关联进程分配的可分页系统内存量(以字节为单位)。
PeakPagedMemorySize 
获取关联的进程使用的虚拟内存分页文件中的最大内存量(以字节为单位)。
PeakPagedMemorySize64 
获取关联的进程使用的虚拟内存分页文件中的最大内存量(以字节为单位)。
PeakVirtualMemorySize 
获取关联进程使用的最大虚拟内存量(以字节为单位)。
PeakVirtualMemorySize64 
获取关联进程使用的最大虚拟内存量(以字节为单位)。
PeakWorkingSet 
获取关联进程的峰值工作集大小(以字节为单位)。
PeakWorkingSet64 
获取关联进程使用的最大物理内存量(以字节为单位)。
PriorityBoostEnabled 
获取或设置一个值,该值指示主窗口拥有焦点时是否应由操作系统暂时提升关联进程优先级。
PriorityClass 
获取或设置关联进程的总体优先级类别。
PrivateMemorySize 
获取为关联的进程分配的专用内存量(以字节为单位)。
PrivateMemorySize64 
获取为关联的进程分配的专用内存量(以字节为单位)。
PrivilegedProcessorTime 
获取此进程的特权处理器时间。
ProcessName 
获取该进程的名称。
ProcessorAffinity 
获取或设置一些处理器,此进程中的线程可以按计划在这些处理器上运行。
Responding 
获取指示进程的用户界面当前是否响应的值。
SafeHandle 
获取此进程的本机句柄。
SessionId 
获取关联进程的终端服务会话标识符。
Site 
获取或设置 Component 的 ISite。 (Inherited from Component)
StandardError 
获取用于读取应用程序错误输出的流。
StandardInput 
获取用于写入应用程序输入的流。
StandardOutput 
获取用于读取应用程序文本输出的流。
StartInfo 
获取或设置要传递给 Process 的 Start() 方法的属性。
StartTime 
获取关联进程启动的时间。
SynchronizingObject 
获取或设置用于封送由于进程退出事件而发出的事件处理程序调用的对象。
Threads 
获取在关联进程中运行的一组线程。
TotalProcessorTime 
获取此进程的总的处理器时间。
UserProcessorTime 
获取此进程的用户处理器时间。
VirtualMemorySize 
获取进程的虚拟内存大小(以字节为单位)。
VirtualMemorySize64 
获取为关联进程分配的虚拟内存量(以字节为单位)。
WorkingSet 
获取关联进程的物理内存使用量(以字节为单位)。
WorkingSet64 
获取为关联的进程分配的物理内存量(以字节为单位)。

方法

BeginErrorReadLine() 
在应用程序的重定向 StandardError 流上开始进行异步读取操作。
BeginOutputReadLine() 
在应用程序的重定向 StandardOutput 流上开始进行异步读取操作。
CancelErrorRead() 
取消在应用程序的重定向 StandardError 流上执行的异步读取操作。
CancelOutputRead() 
取消在应用程序的重定向 StandardOutput 流上执行的异步读取操作。
Close() 
释放与此组件关联的所有资源。
CloseMainWindow() 
通过向进程的主窗口发送关闭消息来关闭拥有用户界面的进程。
CreateObjRef(Type) 
创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。 (Inherited from MarshalByRefObject)
Dispose(Boolean) 
释放此进程使用的所有资源。
EnterDebugMode() 
通过启用当前线程的本机属性 Process,将 SeDebugPrivilege 组件置于与以特殊模式运行的操作系统进程交互的状态。
Equals(Object) 
确定指定的对象是否等于当前对象。 (Inherited from Object)
GetCurrentProcess() 
获取新的 Process 组件并将其与当前活动的进程关联。
GetHashCode() 
作为默认哈希函数。 (Inherited from Object)
GetLifetimeService() 
检索控制此实例的生存期策略的当前生存期服务对象。 (Inherited from MarshalByRefObject)
GetProcessById(Int32) 
返回新的 Process 组件(给定本地计算机上某个进程的标识符)。
GetProcessById(Int32, String) 
返回新的 Process 组件(给定进程标识符和网络中计算机的名称)。
GetProcesses() 
为本地计算机上的每个进程资源创建一个新的 Process 组件。
GetProcesses(String) 
为指定计算机上的每个进程资源创建一个新的 Process 组件。
GetProcessesByName(String) 
创建新的 Process 组件的数组,并将它们与本地计算机上共享指定的进程名称的所有进程资源关联。
GetProcessesByName(String, String) 
创建新的 Process 组件的数组,并将它们与远程计算机上共享指定进程名称的所有进程资源关联。
GetService(Type) 
返回一个对象,该对象表示由 Component 或它的 Container 提供的服务。 (Inherited from Component)
GetType() 
获取当前实例的 Type。 (Inherited from Object)
InitializeLifetimeService() 
获取生存期服务对象来控制此实例的生存期策略。 (Inherited from MarshalByRefObject)
Kill() 
立即停止关联的进程。
LeaveDebugMode() 
使 Process 组件离开允许它与以特殊模式运行的操作系统进程交互的状态。
MemberwiseClone() 
创建当前 Object 的浅表副本。 (Inherited from Object)
MemberwiseClone(Boolean) 
创建当前 MarshalByRefObject 对象的浅表副本。 (Inherited from MarshalByRefObject)
OnExited() 
引发 Exited 事件。
Refresh() 
放弃已缓存到进程组件的关联仅存的任何相关信息。
Start() 
启动(或重用)此 Process 组件的 StartInfo 属性指定的进程资源,并将其与该组件关联。
Start(ProcessStartInfo) 
启动由包含进程启动信息(例如,要启动的进程的文件名)的参数指定的进程资源,并将该资源与新的 Process 组件关联。
Start(String) 
通过指定文档或应用程序文件的名称来启动进程资源,并将资源与新的 Process 组件关联。
Start(String, String) 
通过指定应用程序的名称和一组命令行参数来启动一个进程资源,并将该资源与新的 Process 组件相关联。
Start(String, String, SecureString, String) 
通过指定应用程序的名称、用户名、密码和域来启动一个进程资源,并将该资源与新的 Process 组件关联起来。
Start(String, String, String, SecureString, String) 
通过指定应用程序的名称、一组命令行自变量、用户名、密码和域来启动一个进程资源,并将该资源与新的 Process 组件关联起来。
ToString() 
如果适用,则将进程的名称格式化为字符串,并与父组件类型组合。
WaitForExit() 
指示 Process 组件无限期地等待关联进程退出。
WaitForExit(Int32) 
指示 Process 组件在指定的毫秒数内等待关联进程退出。
WaitForInputIdle() 
使 Process 组件无限期地等待关联进程进入空闲状态。 此重载仅适用于具有用户界面并因此具有消息循环的进程。
WaitForInputIdle(Int32) 
使 Process 组件在指定的毫秒数内等待关联进程进入空闲状态。 此重载仅适用于具有用户界面并因此具有消息循环的进程。

事件

Disposed 
当通过调用 Dispose() 方法释放组件时发生。 (Inherited from Component)
ErrorDataReceived 
当应用程序写入其重定向 StandardError 流中时发生。
Exited 
在进程退出时发生。
OutputDataReceived 
每次应用程序向其重定向 StandardOutput 流中写入行时发生。

实现

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace CallSysCalc
{class Program{static void Main(string[] args){System.Diagnostics.Process pro = new System.Diagnostics.Process();//调取系统自带应用//调取计算器pro.StartInfo = new System.Diagnostics.ProcessStartInfo("calc");//调取记事本//pro.StartInfo = new System.Diagnostics.ProcessStartInfo("notepad");//调取画图// pro.StartInfo = new System.Diagnostics.ProcessStartInfo("mspaint");//调取远程连接//pro.StartInfo = new System.Diagnostics.ProcessStartInfo("mstsc");//完整路径调取全路径//pro.StartInfo = new System.Diagnostics.ProcessStartInfo(@"E:\QQ\Bin\QQScLauncher.exe");pro.Start();}}
}

注:

如果是系统自带附件,可以直接输入exe文件名。

如果是安装软件则要输入全路径。

怎样查看exe文件名?

Windows-左下角-所有程序--右击程序-属性

复制器目标路径属性即可。

示例代码下载

https://download.csdn.net/download/badao_liumang_qizhi/11547516

C#中使用Process调取Windows中的进程(应用程序)相关推荐

  1. 【Groovy】Groovy 脚本调用 ( Linux 中调用 Groovy 脚本 | Windows 中调用 Groovy 脚本 )

    文章目录 前言 一.Linux 中调用 Groovy 脚本 二.Windows 中调用 Groovy 脚本 前言 在 命令行 , Groovy 脚本 , Groovy 类 , Java 类中 , 可以 ...

  2. python中配置opencv_在Windows中安装OpenCV-Python|四

    目标 在本教程中,我们将学习在你的Windows系统中设置OpenCV-Python. 下面的步骤在装有Visual Studio 2010和Visual Studio 2012的Windows 7- ...

  3. linux下mkdir头文件_Linux中mkdir函数与Windows中_mkdir函数的区别

    下面先来给大家介绍windows下_mkdir函数 #include int _mkdir( const char *dirname ); 参数: dirname是目录的路径名指针 返回值: 如果新目 ...

  4. Linux系统增加桌面快捷方式,Linux系统中怎么创建类似于Windows中的桌面快捷方式...

    微信公众号:MitchHong 微信号:ASparkleSubscription 作者:Mitch Hong 以在Ubuntu中安装微信为例 CentOS上也一样的方法 在Ubuntu上安装好软件后, ...

  5. 在Windows中安装OpenCV

    在Windows中安装OpenCV 在Windows中安装OpenCV 使用预建库进行安装 使用git-bash(版本> = 2.14.1)和cmake(版本> = 3.9.1)进行安装 ...

  6. 双击桌面上的计算机图标 不属于计算机,在Windows中“计算机”图标()。

    相关题目与解析 在Windows中"计算机"图标(). Windows中的"计算机"图标(). 下列操作中,不能打开"计算机"窗口的是()A ...

  7. windows中进程详解

    近来闲得无事,就在网上搜集了部分windows中的一些进程,希望大家能喜欢.这东西太多,也许会让你看得烦躁.冒犯指出敬请原谅,谢谢! 系统进程描述 system process 进程文件: [syst ...

  8. oracle中修改process

    可以用如下命令查看数据库连接的消耗情况 select b.MACHINE, b.PROGRAM, b.USERNAME, count(*) from v$process a, v$session b ...

  9. Windows中使用包管理器(类似于apt/yum的) - Chocolatey

    Windows中使用包管理器 - Chocolatey简介 李俊才 的 CSDN 博客 邮箱 :291148484@163.com CSDN 主页:https://blog.csdn.net/qq_2 ...

最新文章

  1. 802.11n 原理解析
  2. vbmsgbox引用变量_vba中MsgBox的参数及用法
  3. 更新node最新版本方法和 npm install -g n 运行错误
  4. 18医科大学计算机基础,18春中国医科大学《计算机基础与应用 》在线作业100分答案...
  5. 是时候考虑让你的Spark跑在K8S上了
  6. kafka实现异步发送_深入理解Kafka的发送流程
  7. mysql 字段 浮点_MySQL浮点数据字段不接受每个浮点数?如何解决这个问题?
  8. ORA-28002 密码过期解决方案
  9. angular发布代码有缓存_[译文]RxJS缓存进阶
  10. android 修改系统字体后app崩溃,android 应用在切换系统字体大小和语言时,应用崩溃问题...
  11. Linux的初学者写代码基本步骤(make、gcc和gdb)
  12. LTE调制方式和编码速率
  13. 遥感水文前景_【充电】学遥感必读的十本专业书
  14. 什么是CPA、CPC、CPM、CVR、CTR、PV、UV、GMV定义以及相关计算公式
  15. http://dongxicheng.org/
  16. 走近“云地基”的开拓者云快线
  17. 计算机图形学 读书笔记(七)B样条曲线 B-Spline
  18. vuepress build error: window is not defined
  19. 汽车行业消费者洞察|车载屏幕是否越大越多就越好?
  20. thinkphp6控制器

热门文章

  1. python的程序入口地址_第一个Python程序
  2. python的numpy库的基本用法_python numpy库np.percentile用法说明
  3. springboot配置文件加载顺序
  4. 什么是线程池,连接池,线程池和连接池之间的区别
  5. linux校园网电脑开wifi密码,Linux/Ubuntu 16.04 使用校园网客户端Dr.com DrClient 有线连网,同时开启WiFi热点...
  6. python汽车仿真_汽车山羊问题的分析以及Python和MATLAB仿真实验
  7. r语言和python的区别_机器学习怎样开始比较好?Python还是R语言?
  8. linux mv 环境变量,linux环境变量 cp mv 以及文档查看的几个命令
  9. python和matlab哪个实现数值计算方法_python和matlab如何选择?
  10. 实时获取vuex更新的新数据_京东手机销量实时数据更新 荣耀Play4T Pro位列第一