Получение информации о компьютере с помощью технологии WMI
В качестве примера рассмотрим приложение, изображенное на рисунке 3.3. В таблице 3.3 приведено описание используемых в приложении элементов управления.
Таблица 3.3 – Элементы управления приложения для получения информации о ресурсах компьютера
Элемент управления | Класс | Описание |
1 | 2 | 3 |
butAdapter | Button | Получение информации о сетевом адаптере |
butBoard | Button | Получение информации о материнской плате |
butCDRom | Button | Получение информации о CD-ROM приводах |
butComputer | Button | Получение информации о компьютере |
butMonitor | Button | Получение информации о мониторе |
butOS | Button | Получение информации об операционной системе |
butProc | Button | Получение информации о процессорах |
butShare | Button | Получение информации об общих ресурсах |
butProduct | Button | Получение информации о серийном номере и производителе компьютера |
butVideo | Button | Получение информации о видео контроллере |
textBox1 | TextBox1 | Окно вывода справочной информации |
Последовательность программирования приложения:
1. Подключение пространства имен System.Management:
using System.Management;
Причем,необходимо добавить в проект ссылку на данное пространство имен. Для этого в пункте главного меню Project выбирается подпункт Add Reference. В появившемся окне выбирается закладка .NET и пространство имен System.Management (см. рисунок 3.4).
2. Получение информации об операционной системе. Запускается приложение WMI Code Creator, выбирается класс Win32_OperatingSystem и генерируется программный код, который заносится в функцию butOS_Click. После преобразования операторов ввода/вывода программный код для события Click кнопки butOS имеет вид:
|
|
private void butOS_Click(object sender, EventArgs e)
{
ManagementScope scope = new ManagementScope("\\\\localhost\\root\\cimv2");
scope.Connect();
// Запрашиваем информацию об операционной системе
ObjectQuery query = new ObjectQuery(
"SELECT * FROM Win32_OperatingSystem");
ManagementObjectSearcher searcher =
new ManagementObjectSearcher(scope, query);
ManagementObjectCollection queryCollection = searcher.Get();
foreach (ManagementObject m in queryCollection)
{
// Выводим информацию в текстовое поле
string nl = Environment.NewLine;
textBox1.Text = "Имя машины : " + m["CSName"] + nl;
textBox1.Text += "Операционная система: " + m["Caption"] + nl;
textBox1.Text += "Версия ОС: " + m["Version"] + nl;
textBox1.Text += "Язык операционной системы: " + m["OSLanguage"] + nl;
textBox1.Text += "Зарегистрированный пользователь: " + m["RegisteredUser"] + nl;
textBox1.Text += "Серийный номер продукта: " + m["SerialNumber"] + nl;
textBox1.Text += "Время установки: " + ManagementDateTimeConverter.ToDateTime(m["InstallDa te"].ToString()) + nl;
textBox1.Text += "Папка Windows: " + m["WindowsDirectory"] + nl;
textBox1.Text += "Системная папка: " + m["SystemDirectory"] + nl;
|
|
textBox1.Text += "Производитель: " + m["Manufacturer"] + nl;
textBox1.Text += "Доступная физическая память: " + m["FreePhysicalMemory"] + nl;
textBox1.Text += "Текущее число процессов: " + m["NumberOfProcesses"] + nl;
}
}
3. Для получения информации о серийном номере и производителе компьютера выполняются действия, аналогичные пункту 2, но в приложении WMI Code Creator выбирается класс Win32_ComputerSystemProduct.
4. Для получения информации о видеоконтроллере выполняются действия, аналогичные пункту 2, но в приложении WMI Code Creator выбирается класс Win32_VideoController.
5. Для получения информации о сетевом адаптере выполняются действия, аналогичные пункту 2, но в приложении WMI Code Creator выбирается класс Win32_NetworkAdapter.
6. Для получения информации о материнской плате выполняются действия, аналогичные пункту 2, но в приложении WMI Code Creator выбирается класс Win32_BaseBoard.
7. Для получения информации о компьютере выполняются действия, аналогичные пункту 2, но в приложении WMI Code Creator выбирается класс Win32_ComputerSystem.
8. Для получения информации о процессорах выполняются действия, аналогичные пункту 2, но в приложении WMI Code Creator выбирается класс Win32_Processor.
9. Для получения информации о CD-ROM приводах выполняются действия, аналогичные пункту 2, но в приложении WMI Code Creator выбирается класс Win32_CDROMDrive.
|
|
10. Для получения информации о мониторе выполняются действия, аналогичные пункту 2, но в приложении WMI Code Creator выбирается класс Win32_DesktopMonitor.
11. Для получения информации об общих ресурсах выполняются действия, аналогичные пункту 2, но в приложении WMI Code Creator выбирается класс Win32_Share.
Дата добавления: 2018-08-06; просмотров: 254; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!