2013-01-25 2 views
0

Мне нужно определить COM-порт устройства Plug-and-Play. У меня есть PnPDeviceID. Это Bluetooth-ключ bluetooth.Определить номер COM-порта с помощью заданного PnpDeviceID: всегда ли идентификатор устройства COM-порта «COMx»?

Итак, я извлекаю информацию об устройстве с использованием WMI, как в первом примере at this website. Результат WMI-запроса содержит свойство «DeviceID», которое является строкой. Значение в моем случае - «COM3».

я получаю такое же значение, когда я делаю (вместо использования WMI)

string[] names = System.IO.Ports.SerialPort.GetPortNames(); 

Теперь я задаюсь вопросом, если DeviceId из COM-устройств всегда имеет формат «COMx»? Мне действительно нужно свойство «Порт» с целым числом в качестве значения.

Существует еще один подход, чтобы перейти через реестр, но я не знаю, если это предлагается.

+0

Это подробная информация о реализации драйвера. Они могут назвать все, что захотят, но, конечно, принято называть его «COMx». Нет никакого значения для номера, поэтому лучше всего позволить пользователю выбрать из списка. –

+0

Может быть полезно http://msdn.microsoft.com/en-us/library/aa394413%28VS.85%29.aspx –

+0

@ SonerGönül Я в значительной степени получаю эту информацию по WMI. Но нет 'int Port' – OneWorld

ответ

0

Просмотреть комментарий Hans Passant. Они обычно называются COMx. И u должен позволить пользователю выбрать.

Более важно для меня: В основном нет необходимости, чтобы номер com-порта был целым, поскольку имя COM-порта (строка) широко используется в качестве идентификатора, например. с System.io ... Они берут строку «COM3» или конкретное имя драйвера.

Смежные вопросы