仅供参考

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. 【Cocos2d入门教程二】Cocos2d-x基础概念
  2. mysql自增mybatis返回主键_Mybatis + mysql 返回自增主键
  3. 我的zencart 安装流程
  4. Java实现八皇后问题的解法(一维数组版本)
  5. c++队列queue
  6. c mysql备份还原数据库,MySQL数据库备份与恢复方法
  7. (二分)Trailing Zeroes (III)
  8. Java动态代理之JDK实现和CGlib实现
  9. 取出字符串strName前4个汉字
  10. ​深度学习基础 | Seq2seq+Attention
  11. 树莓派入门教程 - 0 - 准备篇 - 0.3 树莓派串口访问终端
  12. 除了html 还有什么页面,HTML页面布局有哪些?
  13. 关于pycharm安装出现的interpreter field is empty,无法创建项目存储位置
  14. mysql 给已存在的商品数据,根据商品ID增加商品编号
  15. python开发grasshopper插件_Rhino_Grasshopper_Python 开发的正确姿势
  16. 试论软件开发项目的成功因素
  17. 个人音乐流媒体服务器mStream
  18. 使用wbadmin备份整个网络上的完整Vista PC
  19. 报错:Ncat: bind to :::8888: Address already in use. QUITTING
  20. 立秋了,愿天下人天寒心不寒,快快乐乐

热门文章

  1. linux命令之route
  2. centos自定义服务并加入开机启动
  3. Android 从相冊获取近期拍摄的多张照片(获取相机拍照所存储的照片)
  4. powerdesigner 连接数据库
  5. 携程状告去哪儿一案有猫腻
  6. ADSL接入路由,电脑共享上网
  7. 改2字节将Win XP Home变成Pro?!(zz)
  8. 宇宙第一 IDE 发布新版了
  9. 雷布斯被骗200w??一行代码值两百万?雷军公开小米新logo翻车了?
  10. Netty高性能之道