Как просканировать для COM-портов в C#?

C# обеспечивает эффективное средство сканирования доступных COM-портов? Я хотел бы иметь выпадающий список в своем приложении, где пользователь может выбрать один из обнаруженных COM-портов. Создание и заполнение выпадающего списка не являются проблемой. Я просто должен знать, как просканировать для доступных COM-портов с помощью C#. Я использую Microsoft Visual C# 2008 Express Edition.Спасибо.

10
задан Jim Fell 11 November 2016 в 16:35
поделиться

2 ответа

System.IO.Ports - это пространство имен, которое вам нужно.

SerialPort.GetPortNames перечислит все последовательные COM-порты.

К сожалению, параллельные порты не поддерживаются непосредственно из C #, так как они используются очень редко, за исключением устаревших ситуаций. Тем не менее, вы можете перечислить их, запросив следующий раздел реестра:

HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\PARALLEL PORTS

Подробные сведения см. В пространстве имен Microsoft.Win32 .

16
ответ дан 3 December 2019 в 20:40
поделиться

Используйте WMI через пространство имен System.Management. Быстрый поиск Google находит этот код:

using System;
using System.Management;

public class Foo 
{
    public static void Main() 
    {
       var instances = new ManagementClass("Win32_SerialPort").GetInstances();
       foreach ( ManagementObject port in instances )
       {
           Console.WriteLine("{0}: {1}", port["deviceid"], port["name"]);
       }
}
2
ответ дан 3 December 2019 в 20:40
поделиться
Другие вопросы по тегам:

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