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