请教,VB如何自动获取串口号?

2019-03-24 13:22发布

TI原厂的M4开发板自带的数据记录仪例程,上位机一打开,能自动发现下位机USB虚拟的是哪个串口号,最近我用VB也写了个这样的上位机程序,但我不知道怎么实现这个功能,只能手动选择串口号,请问坛里哪位大虾知道点? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
wangfuchong
1楼-- · 2019-03-24 17:47
只会C#的
yuanyihanke
2楼-- · 2019-03-24 19:23
 精彩回答 2  元偷偷看……
wangfuchong
3楼-- · 2019-03-24 21:49
直接给一个我以前自己写的C#吧,不知道你是用的什么VB,估计用到的类名应该一样吧,所以就不说明了
这个简单,特征字符串在计算机的设备管理器中查看设备属性可以看到。不知道到底应该用什么来唯一识别,所以有点不敢保证完全可靠,如有不同看法,望指教。代码我在实际使用中好像还是可以的。

另外还有在注册表中查找的方法。
  1.     public class FindMsp430LaunchPad
  2.     {
  3.         public static String GetDeviceDiscription()
  4.         {
  5.             ManagementClass mc = new ManagementClass("Win32_SerialPort");
  6.             ManagementObjectCollection moc = mc.GetInstances();
  7.             List discriptionList=new List();
  8.             foreach( ManagementObject mo in moc )
  9.             {
  10.                 if (mo.Properties["PNPDeviceID"].Value.ToString().Contains( "USB\VID_0451&PID_F432&MI_00"))
  11.                 {

  12.                     discriptionList.Add(mo.Properties["DeviceID"].Value.ToString());//PNPDeviceID//USBVID_0451&PID_F432&MI_00
  13.                 }
  14.             }
  15.             if (discriptionList.Count == 0 || discriptionList.Count > 1)
  16.             { return null; }
  17.             else
  18.             {
  19.                 return discriptionList[0].ToString();
  20.             }
  21.         }
  22.     }
复制代码
[ 本帖最后由 wangfuchong 于 2012-10-11 20:16 编辑 ]
yuanyihanke
4楼-- · 2019-03-24 21:55
谢谢哥们儿,有空了细细研究。

一周热门 更多>

相关问题

    相关文章