Windows获取本机MAC地址方法(C语言)

Windows获取本机MAC地址方法(C语言)

用到的方法有两种:Netbios()和GetAdaptersInfo();


Netbios

获取步骤主要分为三步:
一、枚举本机所有LAN
二、重设每个LANA(初始化所有LANA)
三、获取网卡信息(填充数据结构)
如果只有单网卡的情况下,第一步可以不用有,但是在第三步之前一定要对所有的LANA进行重设即初始化。

实例代码如下:

#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>

#pragma comment(lib, "NetAPI32.Lib")

typedef struct _ASTAT_
{
    ADAPTER_STATUS adapt;           //包含一个网络适配器的信息
    NAME_BUFFER    NameBuff [30];
}ASTAT, * PASTAT;                   //定义一个网卡的结构体


//解释并执行指定的网络控制块(NCB)
int main (void)
{
    NCB ncb;                //网络控制块
    ASTAT Adapter;          //包含MAC地址的数据结构
    LANA_ENUM lana_enum;    //包含当前LAN适配器的数量
    UCHAR uRetCode;         //返回结果码
    //UCHAR *mac={};

    //用Netbios()获取网卡信息(MAC\IP\网关…)的基本步骤:
    //一、枚举本机所有LAN
    //二、重设每个LANA(初始化所有LANA)
    //三、获取网卡信息(填充数据结构)


    //一、NCBENUM:枚举LAN适配器(LANA)号码
    memset(&ncb, 0, sizeof(ncb));    
    memset(&lana_enum, 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值