读书人

.net 进程名获取,该如何解决

发布时间: 2014-01-13 17:16:02 作者: rapoo

.net 进程名获取
想实现一个获取自定义输入一个进程名,获取该进程占用系统的CPU以及内存使用率。
求大神指教
[解决办法]
http://stackoverflow.com/questions/8462331/i-need-to-call-accurate-cpu-usage-of-a-single-process


[解决办法]

引用:
一点点的源码我以前也做过


float cpuData = 0; // Cpu
float Meming = 0; // 内存
ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_Process Where ParentProcessID=" + Global.process.Id);
ManagementObjectCollection moc = searcher.Get();
foreach (ManagementObject mo in moc) {
Process p = Process.GetProcessById(Convert.ToInt32(mo["ProcessID"]));
Meming += p.WorkingSet64 / 1024 / 1024; // 内存的用量
PerformanceCounter proccessCpu = new PerformanceCounter("Process", "% Processor Time", p.ProcessName);
cpuData += proccessCpu.NextValue() / Environment.ProcessorCount; // CPU的使用率
}


Global.process.Id 即 你进程的ID

根据进程名获取进程ID:


Process[] pros = Process.GetProcesses();
foreach (Process pro in pros) {
if (string.Equals(pro.ProcessName, "你的进程的名")) {
proId = pro.ProcessId;
break;
}
}



读书人网 >C#

热点推荐