仅供参考

package mainimport ("fmt""log""os""strconv""strings"registry "github.com/golang/sys/windows/registry"
)func main() {//查询插入的u盘个数k, err := registry.OpenKey(registry.LOCAL_MACHINE, `SYSTEM\CurrentControlSet\Services\USBSTOR\Enum`, registry.QUERY_VALUE)if err != nil {log.Fatal(err)}defer k.Close()n, _, err := k.GetIntegerValue("Count")if err != nil {log.Fatal(err)}if n < 1 {fmt.Println("没有检测到u盘!")os.Exit(-1)}//查询u盘序列号var sn, pvid, vid, pid stringinformation, _, err := k.GetStringValue(strconv.Itoa(0))strn := strconv.FormatUint(n, 10) //n是uint64类型,先转成stringnInt, _ := strconv.Atoi(strn)     //再转成int类型if n > 1 {fmt.Printf("\n检测到多个u盘,按插入顺序输出u盘信息\n\n")}for i := 0; i < nInt; i++ {information, _, err = k.GetStringValue(strconv.Itoa(i))if err != nil {log.Fatal(err)}sn = strings.Split(information, "\\")[2]pvid = strings.Split(information, "\\")[1]vid = strings.Split(pvid, "&")[0]vid = strings.Split(vid, "_")[1]pid = strings.Split(pvid, "&")[1]pid = strings.Split(pid, "_")[1]fmt.Println("当前u盘sn码:", sn)fmt.Println("当前u盘vid: ", vid)fmt.Println("当前u盘pid: ", pid)fmt.Println("")}
}

参考链接: https://godoc.org/golang.org/x/sys/windows/registry

20190318更新,此方法不适于慧荣主控的u盘。

转载于:https://www.cnblogs.com/sherlock-merlin/p/10197581.html

golang获取u盘序列号(通过读取注册表实现)相关推荐

  1. 获取U盘序列号的代码

    2019独角兽企业重金招聘Python工程师标准>>> 获取U盘序列号的代码 日期:2007年10月29日 作者:laihongbo 人气:4679 查看:[大字体 中字体 小字体] ...

  2. pe方式修改计算机名,通过修改PE注册表实现更换WinPe文件夹浏览方式

    通过修改PE注册表实现更换WinPe文件夹浏览方式 发布时间:2014-04-04 16:19:31   作者:佚名   我要评论 WinPe中的文件夹浏览方式早已看的不耐烦了,想不想换个品味呢?如果 ...

  3. 获取u盘序列号 linux,linux usbmon获取的U盘数据

    urb标志 ep->id 时间戳 ep->tstamp 事件类型(S-submission, C-Callback, E-submission error) ep->type 端点类 ...

  4. linux c程序获取u盘序列号,linux下怎么用c获取硬盘物理序列号

    波斯汪 1.在Linux系统中通过C语言获取硬盘序列号,可以借助于ioctl()函数,该函数原型如下:1int ioctl(int fd, unsigned long request, ...); 1 ...

  5. 修改注册表实现程序开机自启动

    注册表简介 何为注册表 注册表相当于Windows下的一个庞大的层次性数据库. 基本上有责系统所有的配置信息 注册表是windows操作系统中的一个核心数据库,其中存放着各种参数,直接控制着windo ...

  6. 重装系统后通过修改注册表实现记录还原

    安装前先备份部分数据 微信.QQ聊天记录 Navicat Premium 记录 SecureCRT 记录 WiFi 信息 其他需要备份的信息 以上备份的信息中微信.QQ可以在安装时就将安装目录设置到 ...

  7. .html 打开方式注册表,修改注册表实现文件默认打开方式

    在您的系统中安装了许多应用软件时,难免会有几个软件可以打开同一种文件格式的情况,这时,您可能希望能够自己选择用哪一种软件打开,也可能希望能在使用的过程中更换打开方式,这样不仅可以避免在某个应用软件损坏 ...

  8. Windows: Longmai GM3000 ukey修改注册表实现是否清PIN码方法

    操作系统:Win7x64 ukey型号:Longmai GM3000 for itrus(itrus定制版.通用版应该也可以,手头没有,没法测试) csp版本: GM3000TWCSP.dll  1. ...

  9. C++通过写注册表实现将文件夹映射为系统虚拟盘

    最近为了实现这个需求,网上找了很久也没有具体说明用注册表来实现的,大多数是用DefineDosDevice,或者调用系统工具,后来请教了一个CSDN上的朋友,然后自己慢慢摸索,最终可以实现了.不过还是 ...

  10. wince Hive注册表实现机制

    WinCE下的注册表可以分为两种,一种是RAM based,另外一种是HIVE based了.这要根据你在PB里添加的是哪种配置. 用PB向导新建的WinCE工程文件默认会用RAM based. Hi ...

最新文章

  1. 转学美本半年,我眼里的中美高等教育
  2. exchange 2010 中OAB 排错一例
  3. php mysql 登录注销_PHP与MYSQL实现用户登录注销
  4. 【评论】GNU/Linux下有多少是GNU的?
  5. python 创建一个空向量_Python之Django系列-创建第一个应用-5
  6. Confluence 6 升级以后
  7. diskData磁盘数据分析
  8. 《SEO实战密码》读后一点感受
  9. 在图论中,网络流(Network Flow)
  10. vue引用echarts柱形加折线统计图(周月年动态切换数据)
  11. C# 实现俄罗斯方块
  12. 为什么《请回答1988》能被称为神剧
  13. JAVA有percentile函数吗_五分位算法
  14. 2021年山东省安全员C证考试及山东省安全员C证试题及解析
  15. [问题记录]Chrome浏览器无法保存或自动填充密码
  16. 黑马程序员——ios面试学习一:Mac系统使用教程——黑马 ios 技术博客
  17. 向苹果提交bug时的糟心经历
  18. 好书精读推荐:《苏世民:我的经验与教训》
  19. 从管易云到金蝶云星空通过接口配置打通数据
  20. adum1201参考电路_采用ADuM1201的CAN总线隔离方法

热门文章

  1. 【Atcoder】ARC082 E - ConvexScore
  2. Spring初学快速入门
  3. 中国云计算进入全球通时代 阿里云四大海外数据中心相继开服
  4. Flexbox弹性布局,更优雅的布局
  5. Kubernetes Eviction Manager源码分析
  6. CentOS6.8安装oracle11gR2
  7. Linux上查到目前透过FTP进来的使用者
  8. 在Redis集群技术上,你不可错过的四大集成者
  9. Ubuntu通过apt安装LAMP环境
  10. Java 8 中的 Map 骚操作,学习下