douchao9899 2019-03-15 07:21
浏览 1188
已采纳

获取网卡的NetCfgInstanceId

If you know the name of a network card, how can you get its instance ID? eg: WLAN 2 {74892867-F98B-454B-904F-88912DDE4B9F}. I don't want to use the command line; it's better to work with the registry. What should be the policy that matches the network card in the registry (HKLM/SYSTEM/CurrentControlSet/Control/Class/{4d36e972-e325-11ce-bfc1-08002be10318})?

Language: Go 1.11
Platform: Windows 10

  • 写回答

1条回答 默认 最新

  • duan198299 2019-03-15 09:31
    关注

    Get All NetCfgInstanceId on Your Windows.

    package main
    
    import (
        "fmt"
        "log"
    
        "golang.org/x/sys/windows/registry"
    )
    
    const ADAPTER_KEY = `SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}`
    
    func main() {
        k, err := registry.OpenKey(registry.LOCAL_MACHINE, ADAPTER_KEY, registry.ENUMERATE_SUB_KEYS|registry.QUERY_VALUE)
        if err != nil {
            log.Fatal(err)
        }
        defer k.Close()
    
        keyNames, err := k.ReadSubKeyNames(-1)
        if err != nil {
            log.Fatal(err)
        }
    
        for _, keyName := range keyNames {
            n, _ := matchKey(k, keyName)
            if n != "" {
                fmt.Println(n)
            }
        }
    }
    
    func matchKey(zones registry.Key, keyName string) (string, error) {
        k, err := registry.OpenKey(zones, keyName, registry.READ)
        if err != nil {
            return "", err
        }
        defer k.Close()
    
        netCfgInstanceId, _, err := k.GetStringValue("NetCfgInstanceId")
        if err != nil {
            return "", err
        }
    
        return netCfgInstanceId, nil
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献