如何查找连接的特定USB设备的COM端口。 C#2.0

时间:2015-05-18 06:18:50

标签: c#-2.0

我试图获取com端口名称列表以及与之相关的设备名称。 (例如:我想自动找到Fastrack调制解调器M1206B系列的特定USB设备的COM端口)。在它找到多个可能的端口的情况下,我只想找到端口,具体取决于连接的其他USB设备。我尝试了以下内容,只获得了com端口列表。

<script>
(function(a){a.fn.yiw_tabs=function(b){var c={tabNav:"ul.tabs",tabDivs:".containers",currentClass:"current"};b&&a.extend(c,b);this.each(function(){var b=a(c.tabNav,this),f=a(c.tabDivs,this),e;f.children("div").hide();e=0<a("li."+c.currentClass+" a",b).length?"#"+a("li."+c.currentClass+" a",b).data("tab"):"#"+a("li:first-child a",b).data("tab");a(e).show().addClass("showing").trigger("yit_tabopened");a("li:first-child a",b).parents("li").addClass(c.currentClass);a("a",b).click(function(){if(!a(this).parents("li").hasClass("current")){var e=
"#"+a(this).data("tab");a(this);a("li."+c.currentClass,b).removeClass(c.currentClass);a(this).parents("li").addClass(c.currentClass);a(".showing",f).fadeOut(200,function(){a(this).removeClass("showing").trigger("yit_tabclosed");a(e).fadeIn(200).addClass("showing").trigger("yit_tabopened")})}return!1})})}})(jQuery);
</script>

但我需要让COMPort只根据其他USB设备的连接找到端口。

1 个答案:

答案 0 :(得分:0)

USB不在COM端口上。但是,您可以找到像

这样的端口名称标题
    getPorts("SAMSUNG X7j4j"); // your device name
    void getPorts(string usbDeviceName)
    {
        var searcher = new ManagementObjectSearcher(@"Select * From Win32_USBHub");
        ManagementObjectCollection collection = searcher.Get();
        foreach (var device in collection)
        {                
            string deviceId = device["DeviceID"].ToString();
            string port = device["Caption"].ToString();
            if (deviceId == usbDeviceName)
                MessageBox.Show("Port for " + usbDeviceName + " is " + port);                
            //MessageBox.Show(deviceId + "\n" + port + "\n" );
        }
    }