-1
나는 현재 PC 전체 사용량의 CPU 사용량을 얻고 싶다. 매번 5 초마다 CPU 사용량의 업데이트 된 값을 구할 수있다.어떻게하면 PC 및 특정 프로세스의 CPU 사용량을 얻을 수 있습니까?
그리고 매 5 초마다 특정 프로세스 이름 CPU 사용량의 값을 얻습니다. 예를 들어, 어떤 프로세스에서 CPU 사용량을 얻으려면 런타임에서 선택할 것입니다.
그래서 Form1에서 프로그램을 실행하면 매 5 초마다 업데이트되는 두 개의 레이블이 표시됩니다.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
namespace CpuUsage
{
public partial class Form1 : Form
{
private PerformanceCounter theCPUCounter;
private PerformanceCounter theMemCounter;
private PerformanceCounter specProcessCPUCounter;
private float cpuUsage;
private float memUsage;
private string processname;
public Form1()
{
InitializeComponent();
theCPUCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
theMemCounter = new PerformanceCounter("Memory", "Available MBytes");
specProcessCPUCounter = new PerformanceCounter("Process", "% Processor Time", Process.GetCurrentProcess().ProcessName);
processname = specProcessCPUCounter.CounterName;
cpuUsage = this.theCPUCounter.NextValue();
memUsage = theMemCounter.NextValue();
label1.Text = memUsage.ToString();
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}
나는 디자이너 LABEL1 및 라벨 2를 가지고 :
이 지금 내 코드입니다. theCPUCounter 값은 항상 0입니다. 그리고 specProcessCPUCounter를 사용하여 특정 프로세스 cpuUsage를 얻는 방법을 모르겠습니다. 그리고 나는 그들이 매 5 초마다 업데이트를받을 수 있도록하는 방법을 모른다.
코드가 한 번 올바르게 실행되는 것을 이해해야합니다. 다른 말로하면 그것이하는 일을 정확하게하고있는 것입니다. 나는 연구 및/또는 디버깅 부족에 대한이 질문을 downvote 할 것 같습니다. –