@illiario
безработный

Как получить описание устройства в системе через python?

Добрый день!
Есть система Win10 или Win7. М. б. WinXP, но это вряд ли. Я хочу через Python получить значение свойства "Описание устройства" (см. рисунок). А нужно мне это для того, чтобы пользователь самостоятельно не лез в "Параметры системы", а сразу увидел надпись с подключенным устройством рядом с COM-портом, и выбрал корректное, не перебирая COM-порты.
Как в Python определить доступные COM-порты, я знаю.
Но вот где хранится название? И можно ли его вытащить при параноидальных настройках системы? Сразу, впрямую через regedit, не разобрался. Как-то по другому? Как?
65a81486491b0482482585.png
  • Вопрос задан
  • 101 просмотр
Пригласить эксперта
Ответы на вопрос 3
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
У вас виндузятников там есть вроде консольная команда driverquery
Можно её выполнять из питона и парсить результат. Там есть в выхлопе нужное устройство?
Можно попробовать подключаться перебирая все порты, если есть возможность определить при успешном подключении нужное это устройство или нет.
Искать нужно как найти нужные данные через консоль, а потом искать как выполнить консольную команду из питона и получить консольный выхлоп, а потом искать нужную строчку в выхлопе.
Примерно такой путь.
Ответ написан
Комментировать
@NortheR73
системный инженер
Например, так: через WMI-класс Win32_PNPEntity с фильтром ClassGUID="4d36e978-e325-11ce-bfc1-08002be10318" получаете все объекты типа COM-порт, ну и дальше спрашиваете описание
Ответ написан
Комментировать
Vindicar
@Vindicar
RTFM!
Я бы поискал в реестре, в ветке
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\{4d36e978-e325-11ce-bfc1-08002be10318}
. Во вложенных ветках будет свойство DeviceInstance, собираешь значения этого свойства. Затем заглядываешь в
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\сюда вставляешь значение DeviceInstance\Device Parameters
, там можно найти имя порта и еще кое-что полезное.

Модуль winreg под виндой идёт из коробки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы