搜索
查看: 2696|回复: 4

[其他] 获取串口友好名称(设备描述信息)

  [复制链接]

2

主题

22

帖子

171

积分

一级会员

Rank: 2

积分
171
发表于 2018-4-23 17:42:27 | 显示全部楼层 |阅读模式
写串口上位机的时候通过注册表获取到的串口号的信息只有COM1,COM2,COM3这样的,能不能像sscom5调试助手一样显示详细的设备信息呢,这样就不用每次都到设备管理器中去看看哪个设备的串口号是多少了。

所以根据学习记录:用aardio软件开发上位机 - STM32cube中文网中的串口设备友好信息获取的例子和范例中的“查询硬件信息”做了一下修改,得到了下面的程序。能够获取到串口与对应的设备信息。

  1. import console;
  2. import sys.device;

  3. var getSerialPortList = function(){
  4.         var serialTab  = {};  //串口列表
  5.         var devInfo = sys.device("{4d36e978-e325-11ce-bfc1-08002be10318}");
  6.         for( index,friendName,deviceDesc in devInfo.each(0xC/*_SPDRP_FRIENDLYNAME*/ ,0/*_SPDRP_DEVICEDESC*/))
  7.         {
  8.                   var i,j = string.find( friendName,"\(COM\d+" );
  9.                   serialTab[string.sub(friendName,i+1,j )]=deviceDesc;
  10.         }
  11.         return serialTab;
  12. }
  13. var serialTab  = getSerialPortList();
  14. console.dump(serialTab);
  15. console.pause(true);
复制代码


其中的{4d36e978-e325-11ce-bfc1-08002be10318}是设备的GUID,可以在设备管理器中对应设备右键属性的详细信息中选择对应的选项进行查看。
回复

使用道具 举报

39

主题

174

帖子

1033

积分

荣誉会员

htmlayout.cn 我的学习笔记

Rank: 8Rank: 8

积分
1033
发表于 2018-4-24 13:35:25 | 显示全部楼层
竟然看到了我的站,必须顶一下我刚才去瞅了一眼那个帖子,里面实现同样功能代码好大一片,你这个超简单啊,收藏了
! www.HtmLayout.Cn 我的学习笔记
回复

使用道具 举报

2

主题

22

帖子

171

积分

一级会员

Rank: 2

积分
171
 楼主| 发表于 2018-4-24 14:33:37 | 显示全部楼层
popdes 发表于 2018-4-24 13:35
竟然看到了我的站,必须顶一下我刚才去瞅了一眼那个帖子,里面实现同样功能代码好大一片,你这个超简 ...

你的站很棒呀,很多次都是从你那站上找的
回复

使用道具 举报

2

主题

22

帖子

171

积分

一级会员

Rank: 2

积分
171
 楼主| 发表于 2018-9-12 10:29:30 | 显示全部楼层
突然又看到这个帖子,中途有个bug,如果名称中不带COM字符==比如打印机 就会出现null 然后出错,所以在string.find之后应该判断是否存在字符,才能进行截取操作~~
回复

使用道具 举报

0

主题

6

帖子

104

积分

一级会员

Rank: 2

积分
104
发表于 2018-9-12 16:26:10 | 显示全部楼层
本帖最后由 jawbin 于 2018-9-12 16:30 编辑

XP 下挺好用!

谢谢楼主分享!

谢谢popdes。

刚才看到也可以从 HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM 读取列表。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2018-11-17 18:55 , Processed in 0.062500 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表