首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在c#中使用32英尺获取串口?

如何在c#中使用32英尺获取串口?
EN

Stack Overflow用户
提问于 2015-10-08 14:09:10
回答 1查看 1.2K关注 0票数 1

如何通过蓝牙棒连接移动设备的COM端口?我已经可以得到设备的名称了,例如。‘诺基亚C2-01’,使用32feet librarydevice.DeviceName,但我如何才能使它看起来像这样?"Nokia c2-01 connected through COM7"

EN

回答 1

Stack Overflow用户

发布于 2015-12-18 01:55:17

首先,您需要使用以下命令获取设备地址:

代码语言:javascript
复制
string comPort = GetBluetoothPort(device.DeviceAddress.ToString());
if(!string.IsNullOrWhiteSpace(comPort))
{
     // enter desired output here
}

GetBluetoothPort()方法将如下所示:

代码语言:javascript
复制
using System.Management;
private string GetBluetoothPort(string deviceAddress)
    {
        const string Win32_SerialPort = "Win32_SerialPort";
        SelectQuery q = new SelectQuery(Win32_SerialPort);
        ManagementObjectSearcher s = new ManagementObjectSearcher(q);
        foreach (object cur in s.Get())
        {
            ManagementObject mo = (ManagementObject)cur;
            string pnpId = mo.GetPropertyValue("PNPDeviceID").ToString();

            if (pnpId.Contains(deviceAddress))
            {
                object captionObject = mo.GetPropertyValue("Caption");
                string caption = captionObject.ToString();
                int index = caption.LastIndexOf("(COM");
                if (index > 0)
                {
                    string portString = caption.Substring(index);
                    string comPort = portString.
                                  Replace("(", string.Empty).Replace(")", string.Empty);
                    return comPort;
                }
            }              
        }
        return null;
    }

这将返回端口名称,即COM7

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33007854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档