【C++】【纯代码】获取电脑的mac地址
bool GetMacAddress(CString &LanMAC)
{
#define MAX_ADAPTER_NAME_LENGTH 256
#define MAX_ADAPTER_DESCRIPTION_LENGTH 128
#define MAX_ADAPTER_ADDRESS_LENGTH 8
    typedef struct _NET_IP_ADDRESS_STRING{
        char String[16];
    } NET_IP_ADDRESS_STRING, *PNET_IP_ADDRESS_STRING, NET_IP_MASK_STRING, *PNET_IP_MASK_STRING;
    typedef struct _NET_IP_ADDR_STRING {
        struct _NET_IP_ADDR_STRING* Next;
        NET_IP_ADDRESS_STRING IpAddress;
        NET_IP_MASK_STRING IpMask;
        DWORD Context;
    } NET_IP_ADDR_STRING, *PNET_IP_ADDR_STRING;
    typedef struct _NET_IP_ADAPTER_INFO {
        struct _NET_IP_ADAPTER_INFO* Next;
        DWORD ComboIndex;
        char AdapterName[MAX_ADAPTER_NAME_LENGTH + 4];
        char Description[MAX_ADAPTER_DESCRIPTION_LENGTH + 4];
        UINT AddressLength;
        BYTE Address[MAX_ADAPTER_ADDRESS_LENGTH];
        DWORD Index;
        UINT Type;
        UINT DhcpEnabled;
        PNET_IP_ADDR_STRING CurrentIpAddress;
        NET_IP_ADDR_STRING IpAddressList;
        NET_IP_ADDR_STRING GatewayList;
        NET_IP_ADDR_STRING DhcpServer;
        BOOL HaveWins;
        NET_IP_ADDR_STRING PrimaryWinsServer;
        NET_IP_ADDR_STRING SecondaryWinsServer;
        time_t LeaseObtained;
        time_t LeaseExpires;
    } NET_IP_ADAPTER_INFO, *PNET_IP_ADAPTER_INFO;
    // LanMAC.RemoveAll();                                                                                                  
    HINSTANCE hLib = 0;
    if (hLib = LoadLibrary(_T("iphlpapi.dll"))) //加载动态库
    {
        DWORD(WINAPI*pGetAdaptersInfo) (PNET_IP_ADAPTER_INFO, PULONG) =
            (DWORD(WINAPI*) (PNET_IP_ADAPTER_INFO, PULONG))GetProcAddress(hLib, "GetAdaptersInfo");//获取地址
        if (pGetAdaptersInfo != 0)
        {
            DWORD AdapterInfoSize = 0;
            if (pGetAdaptersInfo(0, &AdapterInfoSize) == ERROR_BUFFER_OVERFLOW) //获取长度
            {
                PNET_IP_ADAPTER_INFO pAdapterInfo = (PNET_IP_ADAPTER_INFO) new BYTE[AdapterInfoSize]; //分配内存              
                if (pGetAdaptersInfo(pAdapterInfo, &AdapterInfoSize) == ERROR_SUCCESS) //获取信息
                {
                    PNET_IP_ADAPTER_INFO pAdapter = pAdapterInfo;
                    while (pAdapter)
                    {
                        CString strMac;
                        strMac.Format(_T("%02X-%02X-%02X-%02X-%02X-%02X"),
                            pAdapter->Address[0], pAdapter->Address[1], pAdapter->Address[2],
                            pAdapter->Address[3], pAdapter->Address[4], pAdapter->Address[5]);
                        LanMAC.Format(strMac);
                        pAdapter = pAdapter->Next; //下一个区域
                    }
                }
                delete[] pAdapterInfo; //释放内存
            }
        }
        FreeLibrary(hLib); //释放库                                                                                      
    }
    return true;
}
【C++】【纯代码】获取电脑的mac地址的更多相关文章
- java工具类,在Windows,Linux系统获取电脑的MAC地址、本地IP、电脑名
		package com.cloudssaas.util; import java.io.BufferedReader; import java.io.IOException; import java. ... 
- Unity网络通讯(一)获取计算机的MAC地址
		1 string GetMac() { string mac = ""; mac = GetMacAddressBySendARP(); return mac; } [DllImp ... 
- 获取客户端网卡MAC地址和IP地址实现JS代码
		获取客户端网卡MAC地址和IP地址实现JS代码 作者: 字体:[增加 减小] 类型:转载 获取客户端的一些信息,如IP和MAC,以结合身份验证,相信很多人都会这样做吧,我们这里用Javascrip ... 
- windows获取本机MAC地址并写入文件的bat
		windows获取本机MAC地址并写入文件的bat MAC(Media Access Control)地址,或称为 MAC地址.硬件地址,用来定义网络设备的位置. bat代码例如以下: @echo o ... 
- java获取本地计算机MAC地址
		java获取本地计算机MAC地址代码如下: public class SocketMac { //将读取的计算机MAC地址字节转化为字符串 public static String transByte ... 
- 获取设备的mac地址可靠的方法
		参考自:http://www.open-open.com/lib/view/open1433406847322.html /** * 获取设备的mac地址 * * @param ac * @param ... 
- PHP获取服务器的mac地址类
		PHP获取服务器的mac地址类,不是客户端的. <?php class GetMacAddr{ var $return_array = array(); // 返回带有MAC地址的字串数组 va ... 
- C++获取系统的Mac地址
		C++获取系统的Mac地址,加上libnetapi32.a #include <windows.h> #include <stdlib.h> #include <stdi ... 
- PHP获取网卡的MAC地址原码;目前支持WIN/LINUX系统 获取机器网卡的物理(MAC)地址
		声明转换于其它博客当中的. <?php /** 获取网卡的MAC地址原码:目前支持WIN/LINUX系统 获取机器网卡的物理(MAC)地址 **/ class GetMacAddr{ var $ ... 
- c#中如何获取本机MAC地址、IP地址、硬盘ID、CPU序列号等系统信息
		我们在利用C#开发桌面程序(Winform)程序的时候,经常需要获取一些跟系统相关的信息,例如用户名.MAC地址.IP地址.硬盘ID.CPU序列号.系统名称.物理内存等. 首先需要引入命名空间: us ... 
随机推荐
- CH32芯片_EVT工程配置方法说明
			CH32V系列 注意: 我们EVT例程中默认配置是CH32V203C8T6配置,若使用MCU为CH32V203K8T6-CH32V203C8U6-CH32V203C8T6,无需修改配置 若使用MCU为 ... 
- Kubernetes(k8s)控制器(三):ReplicationController
			目录 一.系统环境 二.前言 三.ReplicationController概览 四.ReplicationController工作机制 五.创建ReplicationController 六.扩展r ... 
- python导入和导出excel,以文件流形式返回前端
			一.导入excel 1. 安装依赖包 pip install xlrd 2. 读取excel getColIndex(colList:list,colName:str): try: return co ... 
- layui富文本的使用注意事项以及拓展
			一.引入layui.js文件 二.初始化编辑器 PS:layedit.set({}) 方法必须要在初始化编辑器之前 var editIndex, layedit, layer; $(function ... 
- C# 高德地图WebApi对接示例
			1.登录或注册高德地图开放平台然后申请应用key(需要认证个人或企业开发者) 高德开放平台 | 高德地图API (amap.com)https://developer.amap.com/?ref=ht ... 
- C# System.Threading.Timer 详解及示例
			前言 定时器功能在日常开发中也是比较常用的,在 .Net 中实际上总共有五种定时器,分别是:System.Timers.Timer.System.Threading.Timer.System.Wind ... 
- Diffusers库的初识及使用
			diffusers库的目标是: 将扩散模型(diffusion models)集中到一个单一且长期维护的项目中 以公众可访问的方式复现高影响力的机器学习系统,如DALLE.Imagen等 让开发人员可 ... 
- adb简记
			ADB Android Debug Bridge(安卓调试桥) tools.它就是一个命令行窗口,用于通过电脑端与模拟器或者真实设备交互.在某些特殊的情况下进入不了系统,adb就派上用场啦! 前提条件 ... 
- Python爬虫-爬取17K小说
			随笔记录方便自己和同路人查阅. #------------------------------------------------我是可耻的分割线--------------------------- ... 
- 随机颜色,加载loading效果,节流,应用周期函数,wxs
			随机颜色 data: { colorList:[] }, getColor(){ wx.request({ url: 'https://www.escook.cn/api/color', method ... 
