В настоящее время есть огромное количество различных приложений, созданных для мониторинга аппаратного обеспечения. Самые известные из них: CrystalDiskInfo (для проверки накопителей персонального компьютера с поддержкой технологии S.M.A.R.T.), SiSoftware Sandra Lite (для сбора различной информации и диагностики различных компонентов компьютера, установленных программ и любых других устройств, подсоединенных к ПК), HWMоnitоr (для мониторинга показателей различных компонентов компьютера), AIDA64 (для тестирования и идентификации компонентов персонального компьютера под управлением операционных систем Windows, предоставляющая детальные сведения об аппаратном и программном обеспечении), MSI Afterburner (для разгона видеокарт NVIDIA и AMD), Open Hardware Monitor (для измерения температуры процессора, жесткого диска и других комплектующих компьютера), CoreTemp (для получения данных с датчиков температуры компьютера или ноутбука, и проверки насколько система грузит процессор, реализует грамотную защиту от перегрева).
Эти программы служат только для определенных целей и более функциональные являются коммерческими.
Нами разработано приложение «Информация о системе», реализованное на языке C# в среде программирования Visual Studio 2017 Community. При запуске программы (рис. 1) мы видим окно, в котором есть информация о:
загруженности центрального процессора;
загруженности оперативной памяти;
температура и нагрузка ядер процессора;
график загруженности;
Рис. 1. Информация о системе
Так же при нажатии на кнопку «Получить информацию» (рис. 2) мы получаем:
имя персонального компьютера;
имя пользователя;
версию операционной системы;
название операционной системы;
платформу операционной системы;
Рис. 2. Информация о системе
Здесь же отображается информация о количестве логических ядер процессора. Так же осуществляется проверка разрядности операционной системы и процессора (рис. 3).
Рис. 3. Информация о ядрах и разрядности
При значении «False» ваш процессор и операционная система не имеют разрядность «64», в этом случае нажимаем кнопку со знаком вопроса и получаем информацию о том, что ваша система или процессор имеет другую разрядность (рис. 4), (рис. 5).
Рис. 4. Разрядность ОС
Рис. 5. Разрядность процессора
График и шкалы прогресса показывают нам загруженность центрального процессора и оперативной памяти. В шкалах отображается процентная загрузка, т.е. от «0» до «100».
privatevoid timer_Tick(object sender, EventArgs e)
{
float fcpu = pCPU.NextValue();
float fram = pRAM.NextValue();
metroProgressBarCPU.Value =(int)fcpu;
metroProgressBarRAM.Value =(int)fram;
lblCPU.Text =string.Format("{0:0.00}%", fcpu);
lblRAM.Text =string.Format("{0:0.00}%", fram);
chart1.Series["CPU"].Points.AddY(fcpu);
chart1.Series["RAM"].Points.AddY(fram);
}
privatevoid Form1_Load(object sender, EventArgs e)
{
timer.Start();
button5.Enabled =false;
button6.Enabled =false;
textBox7.Enabled =false;
textBox8.Enabled = false;
}
Использование библиотеки «OpenHardwareMonitor.Hardware» позволяет получить температуру и нагрузку центрального процессора в динамичном режиме:
public partial class Form1 : MetroFramework.Forms.MetroForm
{
public Form1()
{
InitializeComponent();
}
publicclass UpdateVisitor : IVisitor
{
publicvoid VisitComputer(IComputer computer)
{
computer.Traverse(this);
}
publicvoid VisitHardware(IHardware hardware)
{
hardware.Update();
foreach(IHardware subHardware in hardware.SubHardware) subHardware.Accept(this);
}
publicvoid VisitSensor(ISensor sensor){}
publicvoid VisitParameter(IParameter parameter){}
}
В дальнейшем мы попытаемся внедрить как можно больший функционал, такой как: мониторинг всей аппаратной части персонального компьютера, сбор данных и отправка отчетов на сервер.
Список литературы:
Прайс, Джейсон Visual C# 2.0. Полное руководство / Джейсон Прайс, Майк Гандэрлой. – М.: Век +, Корона–Век, Энтроп, 2010. – 736 c.
Рихтер, Джеффри CLR via C#. Программирование на платформе Microsoft .NET Framework 4.0 на языке C# / Джеффри Рихтер. – М.: Питер, 2013. – 928 c.