Существует несколько способов перечислить последовательные порты в соответствии с Windows, но я не уверен, что является надлежащим путем: путь, который действительно обнаруживает все последовательные порты, которые доступны.
Одним хорошим примером кода является http://www.naughter.com/enumser.html - где существует 9 (девять!) способы перечислить последовательные устройства.
Вопрос: каков оптимальный способ сделать его.
Требования:
COMx
.Последовательные порты - это очень простые устройства, восходящие к каменному веку компьютерного оборудования. Они не поддерживают Plug & Play, невозможно определить, что кто-то подключил устройство. Единственное, что вы можете сделать, это узнать, какие порты доступны, SerialPort.GetPortNames () вернет список.Некоторые эмуляторы USB могут генерировать описательное имя, соответствующее имени порта, вы можете обнаружить их с помощью класса WMI, Win32_SerialPort.
Ничего из этого не поможет вам определить, какой COM-порт подключен к конкретному устройству. Только человек знает, она физически воткнула кабель в разъем. Вам нужно будет предоставить пользовательский интерфейс конфигурации, который позволяет пользователю выбирать номер порта. Поле со списком выполняет свою работу. Сохраните выбор в данных конфигурации, очень вероятно, что устройство все еще будет подключено к тому же порту при следующем запуске вашей программы.