首页 > 代码库 > C++ 获取mac地址
C++ 获取mac地址
1 // MacAddress.cpp : Defines the entry point for the console application. 2 // 3 4 #include "stdafx.h" 5 #include <windows.h> 6 #include <wincon.h> 7 #include <stdlib.h> 8 #include <stdio.h> 9 #include <time.h>10 #include <Nb30.h>11 #pragma comment(lib,"netapi32.lib") 12 13 int GetMac(char * mac) 14 { 15 NCB ncb;16 typedef struct _ASTAT_17 {18 ADAPTER_STATUS adapt;19 NAME_BUFFER NameBuff [30];20 }ASTAT,*PASTAT;21 22 ASTAT Adapter; 23 24 typedef struct _LANA_ENUM25 {26 UCHAR length;27 UCHAR lana[MAX_LANA];28 }LANA_ENUM;29 30 LANA_ENUM lana_enum; 31 UCHAR uRetCode;32 memset(&ncb, 0, sizeof(ncb));33 memset(&lana_enum, 0, sizeof(lana_enum)); 34 ncb.ncb_command = NCBENUM;35 ncb.ncb_buffer = (unsigned char *)&lana_enum;36 ncb.ncb_length = sizeof(LANA_ENUM);37 uRetCode = Netbios(&ncb);38 39 if(uRetCode != NRC_GOODRET) 40 return uRetCode; 41 42 for(int lana=0; lana<lana_enum.length; lana++) 43 {44 ncb.ncb_command = NCBRESET;45 ncb.ncb_lana_num = lana_enum.lana[lana];46 uRetCode = Netbios(&ncb); 47 if(uRetCode == NRC_GOODRET)48 break; 49 }50 51 if(uRetCode != NRC_GOODRET)52 return uRetCode; 53 54 memset(&ncb, 0, sizeof(ncb));55 ncb.ncb_command = NCBASTAT;56 ncb.ncb_lana_num = lana_enum.lana[0];57 strcpy((char*)ncb.ncb_callname, "*");58 ncb.ncb_buffer = (unsigned char *)&Adapter;59 ncb.ncb_length = sizeof(Adapter);60 uRetCode = Netbios(&ncb);61 62 if(uRetCode != NRC_GOODRET)63 return uRetCode;64 65 sprintf(mac,"%02X-%02X-%02X-%02X-%02X-%02X",66 Adapter.adapt.adapter_address[0],67 Adapter.adapt.adapter_address[1],68 Adapter.adapt.adapter_address[2],69 Adapter.adapt.adapter_address[3],70 Adapter.adapt.adapter_address[4],71 Adapter.adapt.adapter_address[5]);72 73 return 0; 74 } 75 76 77 int main(int argc, char* argv[])78 {79 char mac[200]; 80 GetMac(mac); 81 printf("The Mac Address is : %s \n",mac); 82 83 system("pause");84 return 0;85 }
转载:http://www.cnblogs.com/SteveCheung/archive/2012/07/18/2597449.html
C++ 获取mac地址
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。