重新学C#编程152-进程与线程:进程类Process练习1-显示所有的进程
在操作系统中,每运行一个程序都会开启一个进程,一个进程由多个线程构成。
线程是程序执行流中最小的单元。
在应用程序中分为单线程程序和多线程程序。
- 单线程程序是指在一个进程空间中只有一个线程在执行;
- 多线程程序是指在一个进程空间中有多个线程在执行,并共享同一个进程的大小。
进程指在每个操作系统中自动启动的系统进程和一些自动启动的应用程序进程,在 Windows 操作系统中提供了任务管理器来查看当前启动的进程,并能关闭指定的进程。
Process 类主要提供对本地和远程进程的访问,并提供对本地进程的启动、停止等操作。
Process 类的常用属性和方法如下表所示。
| 属性或方法 | 说明 |
|---|---|
| MachineName | 属性,获取关联进程正在其上运行的计算机的名称 |
| Id | 属性,获取关联进程的唯一标识符 |
| ExitTime | 属性,获取关联进程退出的时间 |
| ProcessName | 属性,获取该进程的名称 |
| StartTime | 属性,获取关联进程启动的时间 |
| Threads | 属性,获取在关联进程中运行的一组线程 |
| TotalProcessorTime | 属性,获取此进程的总的处理器时间 |
| UserProcessorTime | 属性,获取此进程的用户处理器时间 |
| Close() | 方法,释放与此组件关联的所有资源 |
| CloseMainWindow() | 方法,通过向进程的主窗口发送关闭消息来关闭拥有用户界面的进程 |
| Dispose() | 方法,释放由 Component 使用的所有资源 |
| GetCurrentProcess() | 方法,获取新的 Process 组件,并将其与当前活动的进程关联 |
| GetProcesses() | 方法,为本地计算机上的每个进程资源创建一个新的 Process 组件 |
| GetProcesses(String) | 方法,为指定计算机上的每个进程资源创建一个新的 Process 组件 |
| GetProcessesByName(String) | 方法,创建新的 Process 组件的数组,并将它们与本地计算机上共享指定的进程名称的所有进程资源关联 |
| Kill() | 方法,立即停止关联的进程 |
| Start() | 方法,启动(或重用)此 Process 组件的 Startinfo 属性指定的进程资源, 并将其与该组件关联 |
| Start(String) | 方法,通过指定文档或应用程序文件的名称来启动进程资源,并将资源与新的 Process 组件关联 |
操作进程
在实际应用中经常会用到获取本地的进程、启动进程、关闭进程等操作,下面分别以实例形式介绍其具体的操作方法。
在获取当前操作系统中运行的进程时,如果要获取所有运行的进程的信息可以使用上表中的 GetProcesses() 方法,如果要获取指定名称的线程可以使用 GetProcessesByName(String) 方法。
做一个练习。
新建一个项目程序,在richtextbox控件中,显示当然运行的所有进程。

最前面引用
using System.Diagnostics;
按钮的鼠标点击事件代码是
private void button1_Click(object sender, EventArgs e)
{
Process[] process = Process.GetProcesses();
foreach(Process item in process)
{
richTextBox1.Text = richTextBox1.Text + item.ProcessName + "\r\n";
//光标滚动到最后
richTextBox1.SelectionStart = richTextBox1.Text.Length;
richTextBox1.ScrollToCaret();
}
}
运行程序,结果是


浙公网安备 33010602011771号