c++通过mac地址 获取 设备UUID

本文介绍了如何在Visual Studio 2013+Cocos2dx3.3环境下,借助OpenSSL库获取PC设备的UUID。首先,需要下载OpenSSL并将其包含在工程目录中,接着引入macaddr.h和macaddr.cpp文件。在main代码中调用相关函数,最终在日志中输出设备的UUID。此外,还需配置项目的附加包含目录和库目录以确保编译链接成功。
摘要由CSDN通过智能技术生成

(注:仅支持pc端的设备UUID获取,不支持android和ios移动设备UUID的获取)

原料:vs2013+cocos2dx3.3+openssl+macaddr.h/cpp

第一步:

下载好OpenSSL,导入openssl文件夹到工程目录下
导入macaddr.h和macaddr.cpp到工程

头文件macaddr.h

#ifndef __MACADDR_H__
#define __MACADDR_H__

#include <windows.h>

#define MACADDRESS_BYTELEN  6                       // MAC地址字节长度

typedef struct _MACADDRESS
{
    BYTE    SrcMacAddr[MACADDRESS_BYTELEN];         // 原生MAC地址
    BYTE    CurMacAddr[MACADDRESS_BYTELEN];         // 当前MAC地址
} MACADDRESS;

#ifdef __cplusplus
extern "C"{
#endif

    /*

    */
    /*
        功能     : 结合WMI和DeviceIoControl获取网卡原生MAC地址和当前MAC地址
        入口参数  :
                   iQueryType  需要获取的网卡类型
                               0 : 包括USB网卡
                               1 : 不包括USB网卡
                   pMacAddress 存储网卡MAC地址
                   uSize       可存储的最大网卡数目
        返回值:
                   -1  不支持的设备属性值
                   -2  WMI连接失败
                   -3  不正确的WQL查询语句
                   >=0 获取的网卡数目
    */
    INT WDK_MacAddress(INT iQueryType, MACADDRESS * pMacAddress, INT iSize);

#ifdef __cplusplus
}
#endif

#endif

实现文件macaddr.cpp

#include <tchar.h>
#include <strsafe.h>
#include <algorithm>
#include "macaddr.h"

#ifdef __cplusplus
extern "C"
{
#endif
#include <ntddndis.h>
#include <setupapi.h>
#include <hidsdi.h>
#ifdef __cplusplus
}
#endif

#pragma comment (lib, "setupapi")
#pragma comment (lib, "hid")

const GUID GUID_QUERYSET[] = {
    // 网卡原生MAC地址(包含USB网卡)
    {
  
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值