C#教程

关注公众号 jb51net

关闭
首页 > 软件编程 > C#教程 > C#操作Windows进程

C#操作windows系统进程的方法

作者:springsnow

这篇文章介绍了C#操作windows系统进程的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一、概述

一个Process组件提供了在计算机运行进程的访问权限。 进程,在最简单的术语中,是正在运行的应用。提供对本地和远程进程的访问权限并使你能够启动和停止本地系统进程。

属性

方法

二、使用方法

1、建立和销毁进程 System.Diagnosties

System.Diagnostics.Process p=Process.Start("notepad.exe","File.txt");
Thread.Sleep(2000);
p.Kill();

2、后台运行进程:

ProcessStartInfo psi = new ProcessStartInfo("cmd.exe");
psi.Arguments = @"/c copy c:\1.txt lpt1";
psi.CreateNoWindow = true;
psi.UseShellExecute = false;//默认为true, 使用外壳程序启动进程。否则,直接从可执行文件创建进程。
Process p = Process.Start(psi);
if (!p.WaitForExit(1000 * 7))//启动外部程序,等待其退出
{
    p.Kill();
}
p.Close();

或者

ProcessStartInfo psi = new ProcessStartInfo("cmd.exe");//FileName
psi.RedirectStandardInput = true;
psi.RedirectStandardOutput = true;
psi.CreateNoWindow = true;//将此属性设置为false,就能重定向进程。。。
psi.UseShellExecute = false;//
Process p = Process.Start(psi);
StreamWriter sw = p.StandardInput;
StreamReader sr = p.StandardOutput;
sw.WriteLine(@"/c copy c:\1.txt lpt1");
sw.Close();
Console.Write(sr.ReadToEnd());
sr.Close();
p.Close();

3、启动外部程序

System.Diagnostics.Process.Start("explorer.exe", @"c:/"); //用资源管理器打开C:/  
System.Diagnostics.Process.Start("rundll32.exe", @"shell32.dll,Control_RunDLL appwiz.cpl,,0");//打开“添加或删除程序”的面板:

4、列举计算机中运行中的进程

var pList = Process.GetProcesses().OrderBy(x => x.Id).Take(10);
foreach (var p in pList)
{
    Console.WriteLine(string.Format("ProcessID is {0} \t ProcessName is {1}", p.Id, p.ProcessName));
}

5、获取进程中的多个模块

var mList = Process.GetCurrentProcess().Modules;
foreach (ProcessModule m in mList)
{
    Console.WriteLine(string.Format("ModuleName is {0} \t ModuleURL  is {1} \t ModuleVersion is {2}", m.ModuleName, m.FileName, m.FileVersionInfo.FileVersion));
}

到此这篇关于C#操作windows系统进程的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文