要加入头文件 #include "nb30.h"
AnsiString __fastcall TForm1::GetNetCardNumber()//MAC
{
typedef struct _ASTAT
{
ADAPTER_STATUS adapt;
NAME_BUFFER NameBuffer[30];
}
ASTAT, *PASTAT;
ASTAT Adapter;
NCB ncb;
UCHAR uRetCode;
memset(&ncb,0,sizeof(ncb));
ncb.ncb_command=NCBRESET;
ncb.ncb_lana_num=0;
Netbios(&ncb);
memset(&ncb,0,sizeof(ncb));
ncb.ncb_command=NCBASTAT;
ncb.ncb_lana_num=0;
strcpy((char *)ncb.ncb_callname,"* ");
ncb.ncb_buffer=(unsigned char *) &Adapter;
ncb.ncb_length=sizeof(Adapter);
uRetCode=Netbios(&ncb);
AnsiString str="";
if(uRetCode==0)
{
str.printf("%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] );
return str;
}
else
{
return "MAC Error!";
}
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ShowMessage(GetNetCardNumber());
}