为了账号安全,请及时绑定邮箱和手机立即绑定

golang如何获取USB设备的序列号?

golang如何获取USB设备的序列号?

Go
叮当猫咪 2021-12-13 18:51:10
golang如何获取USB设备的序列号?有没有示例代码?谁知道!
查看完整描述

2 回答

?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

您必须在 golang 中使用 libusb 的包装器(例如gousb)。但是这个包装器没有获取序列号的命令。所以你必须实施它。libusb 中的命令是:

C.libusb_get_string_descriptor_ascii


查看完整回答
反对 回复 2021-12-13
?
开心每一天1111

TA贡献1836条经验 获得超13个赞

所述的libusb转到包有一个方法GetStringDesciptorASCII可以用来得到一个USB装置的S / N。


没有错误处理的示例

package main


import (

    "log"


    "github.com/gotmc/libusb"

)


func main() {

    ctx, _ := libusb.Init()

    defer ctx.Exit()

    devices, _ := ctx.GetDeviceList()

    for _, device := range devices {

        usbDeviceDescriptor, _ := device.GetDeviceDescriptor()

        handle, _ := device.Open()

        defer handle.Close()

        snIndex := usbDeviceDescriptor.SerialNumberIndex

        serialNumber, _ := handle.GetStringDescriptorASCII(snIndex)

        log.Printf("Found S/N: %s", serialNumber)

    }

}


查看完整回答
反对 回复 2021-12-13
  • 2 回答
  • 0 关注
  • 873 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号