Читать свойство из диспетчера устройств? - PullRequest
0 голосов
/ 15 декабря 2018

Есть какой-нибудь способ прочитать свойство из диспетчера устройств?

Мне нужно прочитать состояние батареи наземного набора без привязки к наземному набору из моего настольного приложения C # WPF.

Ссылка на снимок экрана здесь

Ответы [ 2 ]

0 голосов
/ 16 декабря 2018

Это результат работы вашего примера, понятия не имею, как запросить «Уровень заряда батареи Bluetooth LE»

\\DESKTOP-54P9Q3C\root\cimv2:Win32_PnPEntity.DeviceID="BTHLE\\DEV_BC83851FE704\\7&222CF7DF&0&BC83851FE704"
 Availability:
 Caption: Surface Dial
 ClassGuid: {e0cbf06c-cd8b-4647-bb8a-263b43f0f974}
 CompatibleID: System.String[]
 ConfigManagerErrorCode: 0
 ConfigManagerUserConfig: False
 CreationClassName: Win32_PnPEntity
 Description: Bluetooth LE Device
 DeviceID: BTHLE\DEV_BC83851FE704\7&222CF7DF&0&BC83851FE704
 ErrorCleared:
 ErrorDescription:
 HardwareID: System.String[]
 InstallDate:
 LastErrorCode:
 Manufacturer: Microsoft
 Name: Surface Dial
 PNPClass: Bluetooth
 PNPDeviceID: BTHLE\DEV_BC83851FE704\7&222CF7DF&0&BC83851FE704
 PowerManagementCapabilities:
 PowerManagementSupported:
 Present: True
 Service: BthLEEnum
 Status: OK
 StatusInfo:
 SystemCreationClassName: Win32_ComputerSystem
 SystemName: DESKTOP-54P9Q3C
0 голосов
/ 15 декабря 2018

Вы можете играть вокруг с WMI-запросами.Вот небольшой пример:

static void Main(string[] args)
    {
        string query = @"SELECT * FROM Win32_PnPEntity";

        var moSearch = new ManagementObjectSearcher(query);
        var moCollection = moSearch.Get();

        foreach (ManagementObject mo in moCollection)
        {
            Console.WriteLine(mo.Path.ToString());
            foreach (var item in mo.Properties)
            {
                Console.WriteLine($"{item.Name}: {item.Value}");
            }
            Console.WriteLine();
        }

        Console.ReadKey();
    }

Не забудьте добавить System.Management ссылку на проект.

Чтобы узнать точное значение DeviceId или DevicePath, посмотрите в диспетчере устройствдобавьте в ваш запрос оператор WHERE.

Для получения дополнительной информации о классах и запросах в WMI вот официальная документация https://docs.microsoft.com/en-us/windows/desktop/cimwin32prov/computer-system-hardware-classes

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...