获取MAC地址

 1 #include "stdafx.h"
 2 #include "windows.h"
 3 #include "wincon.h"
 4 #include "stdlib.h"
 5 #include "stdio.h"
 6 #include "time.h"
 7 #include "nb30.h"
 8 #pragma comment(lib,"netapi32.lib")
 9 
10 typedef struct _ASTAT_
11 {
12     ADAPTER_STATUS adapt;
13     NAME_BUFFER NameBuff[30];
14 }ASTAT,*PASTAT;
15 
16 ASTAT Adapter;
17 
18 void getmac_one(int lana_num)
19 {
20     NCB ncb;
21     UCHAR uRetCode;
22     memset(&ncb,0,sizeof(ncb));
23     ncb.ncb_command=NCBRESET;
24     ncb.ncb_lana_num=lana_num;
25     uRetCode=Netbios(&ncb);
26     printf("The ncbreset return code is: 0x%x \n",uRetCode);
27     memset(&ncb,0,sizeof(ncb));
28     ncb.ncb_command=NCBASTAT;
29     ncb.ncb_lana_num=lana_num;
30     strcpy((char*)ncb.ncb_callname,"*");
31     ncb.ncb_buffer=(unsigned char *) &Adapter;
32     ncb.ncb_length=sizeof(Adapter);
33     uRetCode=Netbios(&ncb);
34     printf("The ncbastat return code is:0x%x\n",uRetCode);
35     if (uRetCode==0)
36     {
37         printf("The ethernet number[%d] is :%02x%02x-%02x%02x-%02x%02x\n",lana_num,
38             Adapter.adapt.adapter_address[0],
39             Adapter.adapt.adapter_address[1],
40             Adapter.adapt.adapter_address[2],
41             Adapter.adapt.adapter_address[3],
42             Adapter.adapt.adapter_address[4],
43             Adapter.adapt.adapter_address[5]);
44     }
45 }
46 int main(int argc, char* argv[])
47 {
48     NCB ncb;
49     UCHAR uRetCode;
50     LANA_ENUM lana_enum;
51     memset(&ncb,0,sizeof(ncb));
52     ncb.ncb_command=NCBENUM;
53     ncb.ncb_buffer=(unsigned char *)&lana_enum;
54     ncb.ncb_length=sizeof(lana_enum);
55 
56 
57     uRetCode=Netbios(&ncb);
58     printf("the ncbenum return code is:0x%x\n",uRetCode);
59     if (uRetCode==0)
60     {
61         printf("ethernet cout is :%d\n\n",lana_enum.length);
62         for (int i=0;i<lana_enum.length;++i)
63         {
64             getmac_one(lana_enum.lana[i]);
65         }
66     }
67     system("pause");
68     return 0;
69 }

......

posted @ 2012-04-21 16:31  r3call  阅读(356)  评论(0编辑  收藏  举报