مشخصات پروژه
-
908
-
0.0
-
7154
-
0
-
0
برنامه مشاهده درصد استفاده از Cpu و Ram
برنامه مشاهده درصد استفاده از Cpu و Ram
برنامه مشاهده درصد استفاده از Cpu و Ram
کلاس های مفیدی برای اطلاع از وضعیت سیستم در فضا نام System.Diagnostics موجود است. یکی از این کلاس ها PerformanceCounter می باشد. دوشیء از این کلاس به منظور نمایش وضعیت Cpu و Ram ساخته می شوند.
PerformanceCounter CPU_Using = new PerformanceCounter();
PerformanceCounter RAM_Using = new PerformanceCounter();
کلاس PerformanceCounter دارای خاصیت هایی است که باید تنظیم شوند. یکی از این خاصیت ها CategoryName است که تعیین می کند علاقه مند به مشاهده تغییرات کدام قطعه هستیم. خاصیت بعدی CounterName است که تعیین می کند شمارشگر کدام فرآیند مورد نظر است.
CPU_Using.CategoryName = "Processor";
CPU_Using.CounterName = "% Processor Time";
CPU_Using.InstanceName = "_Total";
RAM_Using.CategoryName = "Memory";
RAM_Using.CounterName = "Available MBytes";
چون تغییرات لحظه ای صورت می گیرد این تغییرات را در رویداد تیک یک تایمر فراخوانی می کنیم. با هر بار تیک وارد کد زیر می شویم:
double Rounded_CPU_Usage;
Rounded_CPU_Usage = Math.Round(CPU_Using.NextValue());
label1.Text = "میزان مصرف پردازنده : " + Rounded_CPU_Usage + " % ";
prgs_CPU_Using.Value = (int) Rounded_CPU_Usage;
مقدار درصد مصرف Cpu با استفاده از متد NextValue بدست می آید. از متدRound کلاس Math برای رند کردن این مقدار استفاده کرده ایم. همچنین میخواهیم با تغییر درصد مصرف Cpu عکس روی فرم تغییر یابد، بنابراین:
if (Rounded_CPU_Usage >= 0 && Rounded_CPU_Usage <= 45)
{
pic_Chip.Image = pic_Chip_Normal.Image;
}
else if (Rounded_CPU_Usage >= 46 && Rounded_CPU_Usage <= 74)
{
pic_Chip.Image = pic_Chip_Exclamation.Image;
}
else if (Rounded_CPU_Usage >= 75 && Rounded_CPU_Usage <= 100)
{
pic_Chip.Image = pic_Chip_Critical.Image;
}
