Что надлежащий путь состоит в том, чтобы обнаружить все доступные последовательные порты в Windows?

Существует несколько способов перечислить последовательные порты в соответствии с Windows, но я не уверен, что является надлежащим путем: путь, который действительно обнаруживает все последовательные порты, которые доступны.

Одним хорошим примером кода является http://www.naughter.com/enumser.html - где существует 9 (девять!) способы перечислить последовательные устройства.

Вопрос: каков оптимальный способ сделать его.

Требования:

  • к не открытые порты, чтобы проверить, доступны ли они.
  • смочь обнаружить порты с различными именами, чем COMx.
  • работать над Windows XP SP2 или выше

6
задан David Sykes 20 April 2010 в 10:16
поделиться

1 ответ

Последовательные порты - это очень простые устройства, восходящие к каменному веку компьютерного оборудования. Они не поддерживают Plug & Play, невозможно определить, что кто-то подключил устройство. Единственное, что вы можете сделать, это узнать, какие порты доступны, SerialPort.GetPortNames () вернет список.Некоторые эмуляторы USB могут генерировать описательное имя, соответствующее имени порта, вы можете обнаружить их с помощью класса WMI, Win32_SerialPort.

Ничего из этого не поможет вам определить, какой COM-порт подключен к конкретному устройству. Только человек знает, она физически воткнула кабель в разъем. Вам нужно будет предоставить пользовательский интерфейс конфигурации, который позволяет пользователю выбирать номер порта. Поле со списком выполняет свою работу. Сохраните выбор в данных конфигурации, очень вероятно, что устройство все еще будет подключено к тому же порту при следующем запуске вашей программы.

3
ответ дан 10 December 2019 в 00:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: