Получить системные показатели в C#
Функция API GetSystemMetrics возвращает системные метрики, значения, которые дают размеры, используемые системой, такие как размер значков по умолчанию и толщина границ изменяемого размера окна. Например, выделенная строка на рисунке справа показывает, что в моей системе ширина значков по умолчанию (SM_CXICON) составляет 32 пикселя.
Следующий код показывает, как программа объявляет функцию API GetSystemMetrics. (Обратите внимание, что программа включает в себя пространство имен System.Runtime.InteropServices, чтобы он мог использовать DllImport.)
[DllImport("user32.dll")] static extern int GetSystemMetrics(SystemMetric smIndex)
Следующая перечисление SystemMetric определяет значения системных метрик, которые вы можете передать в функцию GetSystemMetrics.
public enum SystemMetric { SM_CXSCREEN = 0, // 0x00 SM_CYSCREEN = 1, // 0x01 SM_CXVSCROLL = 2, // 0x02 SM_CYHSCROLL = 3, // 0x03 ... SM_REMOTECONTROL = 0x2001, // 0x2001 }
Обработчик события Load формы использует следующий код для отображения значений метрики системы.
// Покажите некоторые полезные показатели. private void Form1_Load(object sender, EventArgs e) { AddValue(SystemMetric.SM_CXSCREEN); AddValue(SystemMetric.SM_CYSCREEN); ... }
Следующий метод AddValue отображает имя и значение метрики в элементе управления lvwMetrics ListView.
// Добавить значение в ListView. private void AddValue(SystemMetric metric) { ListViewItem item = lvwMetrics.Items.Add(metric.ToString()); item.SubItems.Add(GetSystemMetrics(metric).ToString()); }
Загрузите пример и посмотрите на код, чтобы увидеть все 89 показателей системы.