网卡没有GUID,那是MAC地址,
int GetMacCount(void)  
// 获取网卡数  
{  
NCB ncb;  
UCHAR uRetCode;  
LANA_ENUM lana_enum;  memset(&ncb,0,sizeof(ncb));  
ncb.ncb_command=NCBENUM;  
ncb.ncb_buffer=(unsigned char *)&lana_enum;  
ncb.ncb_length=sizeof(lana_enum);  uRetCode=Netbios(&ncb);  
if(uRetCode==0)  
return lana_enum.length;  
else  
return -1;  
}  LPCSTR GetMacAddress(int lana_num)  
// 获取 mac 地址  
{  
typedef struct _ASTAT_  
{  
ADAPTER_STATUS adapt;  
NAME_BUFFER NameBuf[30];  
}ASTAT,* PASTAT;  ASTAT Adapter;  NCB ncb;  
UCHAR uRetCode;  memset(&ncb,0,sizeof(ncb));  
ncb.ncb_command=NCBRESET;  
ncb.ncb_lana_num=lana_num;  uRetCode=Netbios(&ncb);  memset(&ncb,0,sizeof(ncb));  
ncb.ncb_command=NCBASTAT;  
ncb.ncb_lana_num=lana_num;  strcpy((char *)ncb.ncb_callname,"* ");  
ncb.ncb_buffer=(unsigned char *)&Adapter;  
ncb.ncb_length=sizeof(Adapter);  uRetCode=Netbios(&ncb);  
if(uRetCode==0)  
{  
char mac[15], * lpmac;  sprintf(mac,"%02X%02X-%02X%02X-%02X%02X",  
Adapter.adapt.adapter_address[0],  
Adapter.adapt.adapter_address[1],  
Adapter.adapt.adapter_address[2],  
Adapter.adapt.adapter_address[3],  
Adapter.adapt.adapter_address[4],  
Adapter.adapt.adapter_address[5]);  
lpmac=mac;  
return lpmac;  
}  
else  
return NULL;  
}  先获取系统中安装的网卡数,然后循环获取每块网卡的 mac 地址