递归火山软件开发平台

标题: 读注册表列举机器的串口遇到问题求高人指点 [打印本页]

作者: qzc1998    时间: 2021-9-13 16:55
标题: 读注册表列举机器的串口遇到问题求高人指点
以前的方法是循环com1.....comN,哪个能打开说明哪个串口,想着这个方法比较low就读一下注册表精确一下吧HKLM 下 HARDWARE\DEVICEMAP\SERIALCOMM 项下就是串口列表
几番摸索,易语言 或者 火山,都只有读一个值不能读到几个值返回列表
或者我知道大致规律我先找一个试试读一下 比如我的串口 是 \Device\ProlificSerial0这个项,值是com3,我的目的是读到com3这个值
无论是易语言 还是 火山 竟然都读不到值
接收数据 = 取文本注册项 (#本地机器, “HARDWARE\DEVICEMAP\SERIALCOMM\\Device\ProlificSerial0”, “...”)
仔细看,可能这个\Device\ProlificSerial0里的\被当作路径,不知有没有什么办法
实在不行就只能用其他语言封装一个dll,放到这里调用,期待下个版本能解决这个直接返回列表最好

作者: glbosom    时间: 2021-9-13 19:44
取文本注册项2
作者: qzc1998    时间: 2021-9-14 09:25
取文本注册项2 也是不行的
作者: glbosom    时间: 2021-9-14 09:56
注意转义符 \
作者: qzc1998    时间: 2021-9-14 11:06
串口名 = 取文本注册项2 (注册表根目录类型.本地机器, "HARDWARE\\DEVICEMAP\\SERIALCOMM", "\\Device\\ProlificSerial0", " ")    这个可以,再研究下,看能不能列举其他更智能一下
作者: b0y    时间: 2021-9-14 11:32
取文本注册项1 2有没有什么区别。为什么用1 2来区分
作者: glbosom    时间: 2021-9-14 11:38
b0y 发表于 2021-9-14 11:32
取文本注册项1 2有没有什么区别。为什么用1 2来区分

肯定有区别,取注册表文本项不支持带 "\" 项的表项
作者: qzc1998    时间: 2021-9-14 16:03
取文本注册项2就是把路径和键名分开,合在一起就是取文本注册项,因为这里这个需要刚好键名里有路径那个\ ,这个\又代表着转义,所以用取文本注册项2才能正确读取。
另外我仔细研究了下自己写了取文本注册项3 ,能获取一个路径下所有键值返回成文本数组,有需要的可以去参考,我也是初学火山,可能写的不算太好,仅仅是完成这个功能而已。
//blog.csdn.net/qiaozhangchi/article/details/120288212




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4