Страницы

Поиск по вопросам

среда, 10 октября 2018 г.

Получение описания ПК программно

В свойствах "Компьютера", в блоке "Имя компьютера, имя домена и параметры рабочей группы". Имя компьютера и параметры раб.группы можно получить программно, используя методы классы Environments. А как программно получить описание компьютера(на скриншоте - между "Полное имя" и "Рабочая группа")?


Ответ

В классе System.Environments нет методов, возвращающих описание компьютера. Однако есть другие возможности получить описание компьютера. Рассмотрим более детально два варианта решения поставленной задачи.
Решение #1
Можно получить описание компьютера из реестра. Есть путь реестра, где лежит описание компьютера:
HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\srvcomment
Используя метод Registry.GetValue необходимо сделать следующее:
using Microsoft.Win32;
string key = @"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters"; string computerDescription = (string)Registry.GetValue(key, "srvcomment", null);
Решение #2
Можно использовать ManagementObjectSearcher. Пример кода:
public static void RetrieveComputerProps() { //initialize the select query with command text SelectQuery query = new SelectQuery(@"Select * from Win32_ComputerSystem");
//initialize the searcher with the query it is supposed to execute using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query)) { //execute the query foreach (ManagementObject process in searcher.Get()) { //print system info process.Get(); Console.WriteLine("/*********Computer System Information ***************/"); Console.WriteLine("{0}{1}", "Caption :", process["Caption"]); Console.WriteLine("{0}{1}", "Description:", process["Description"]); Console.WriteLine("{0}{1}", "Manufacturer:", process["Manufacturer"]); Console.WriteLine("{0}{1}", "Model:", process["Model"]); Console.WriteLine("{0}{1}","TotalPhysicalMemory:",process["TotalPhysicalMemory"]); } } }
Полученный результат:

Комментариев нет:

Отправить комментарий