相关疑难解决方法(0)

如何在C#中扫描COM端口?

C#是否提供了扫描可用COM端口的有效方法?我想在我的应用程序中有一个下拉列表,其中用户可以选择一个检测到的COM端口.创建和填充下拉列表不是问题.我只需要知道如何使用C#扫描可用的COM端口.我使用的是Microsoft Visual C#2008 Express Edition.谢谢.

c# serial-port

10
推荐指数
1
解决办法
1万
查看次数

获取蓝牙comport名称

有没有办法枚举所有的蓝牙COM端口并得到他们的名字?而且我不是说COM10,在这种情况下,我的意思是GNSS:51622 'GNSS Server'.

蓝牙对话框

使用32Feet我已经能够找到端口的名称,但仍然没有运气将它们映射到实际的COM端口.

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Connecting to Bluetooth");
        var client = new BluetoothClient();
        Console.WriteLine("DiscoverDevices");
        var devices = client.DiscoverDevices();
        Console.WriteLine("Enumerating");
        foreach (var device in devices)
        {
            if (!device.DeviceName.StartsWith("GNSS"))
                continue;
            Console.WriteLine(device.DeviceName);
            try
            {
                Console.WriteLine("Getting serial ports");
                var serviceRecords = device.GetServiceRecords(BluetoothService.SerialPort);
                foreach (var serviceRecord in serviceRecords)
                {
                    var name = GetName(serviceRecord);
                    Console.WriteLine(name);
                }

            }
            catch (Exception ex)
            {
                Console.WriteLine("Failed to get SerialPort");
                Console.WriteLine(ex.ToString());
            }
        }
        Console.ReadKey();
    }

    private static string GetName(ServiceRecord serviceRecord) …
Run Code Online (Sandbox Code Playgroud)

c# windows bluetooth

10
推荐指数
1
解决办法
960
查看次数

WMI:获取所有串行 (COM) 端口(包括虚拟端口)的列表

我目前正在开发一个 C# 程序来与 Arduino 微控制器交互。该程序有一个组合框,您可以在其中选择 COM 端口。\xc2\xb5c 通过 USB 和虚拟 COM 端口 (CH340) 连接。

\n\n

我使用下面的代码来填写组合框的可用 COM 端口。

\n\n
private void Form1_Load(object sender, EventArgs e)\n    {\n        string[] PortNames = SerialPort. GetPortNames();\n        comboBoxPort.Items.AddRange(PortNames);\n    }\n
Run Code Online (Sandbox Code Playgroud)\n\n

这样做的缺点是,您必须查看设备管理器以查看哪一个是 \xc2\xb5c 的正确设备。例如,我的 PC 有 4 个活动 COM 端口,一个物理端口,2 个虚拟端口,另一个虚拟端口用于 \xc2\xb5c。我正在寻找的是一种显示设备的完整名称以及关联的 COM 端口的方法(就像您可以在设备管理器中找到它一样)

\n\n

设备管理器中的 COM 端口

\n\n

经过一番研究后,我发现使用 WMI 还有另一种可能性。在使用“WMI Code Creator”进行大量测试之后,我不知道我还能尝试什么来完成我\xe2\x80\x99已经完成的工作。我尝试过的所有命名空间和类都只是生成 COM 端口,例如 COM1、COM2\xe2\x80\xa6,或者生成对程序用户没有用处的硬件 ID。\n下面的代码或多或少正是我正在寻找的,但它仅适用于 COM 端口中的 \xe2\x80\x9creal\xe2\x80\x9d 构建。

\n\n
using System;\nusing System.Management;\nusing System.Windows.Forms;\n\nnamespace WMISample\n    {\n        public class MyWMIQuery\n        {\n            public static void Main()\n …
Run Code Online (Sandbox Code Playgroud)

c# wmi

3
推荐指数
1
解决办法
7302
查看次数

标签 统计

c# ×3

bluetooth ×1

serial-port ×1

windows ×1

wmi ×1