이 코드는 매우 간단하지만 변수 "결과"(아래 코드 참조)를 설정하는 방법에 대해 혼란 스럽기 때문에 나중에 프로그램에서 호출 할 수 있습니다. 타이머는 현재 RAM 사용량을 설치된 총 RAM으로 나눈 값으로 사용률을 수집합니다. WMI가 설치된 RAM을 수집하는 방법은 결과 [ "TotalVisibleMemorySize"]를 수행해야하기 때문에 나를 버리게했습니다. 타이머에서 전체 코드 블록을 사용하는 문제는 WMI가 느리기 때문에 카운터를 실제로 지연시키는 2 초마다 새로 고치는 것입니다. 감사!프로그램에서 변수를 호출하는 데 문제가 있음 #
private void Form1_Load(object sender, EventArgs e)
{
ObjectQuery wql = new ObjectQuery("SELECT * FROM Win32_OperatingSystem");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(wql);
ManagementObjectCollection results = searcher.Get();
foreach (ManagementObject result in results)
{
label1.Text = Convert.ToInt32(result["TotalVisibleMemorySize"]) + " KB";
}
}
private void timer1_Tick(object sender, EventArgs e)
{
progressBar1.Value = (int)(performanceCounter1.NextValue() - Convert.ToInt32(result["TotalVisibleMemorySize"]));
label1.Text = "Processor Time: " + progressBar1.Value.ToString() + "%";
}