void CGetAdepterInfoDlg::GetInfo(void)
{
PIP_ADAPTER_ADDRESSES pAddresses;
pAddresses = new IP_ADAPTER_ADDRESSES;
ULONG outBufLen = 0;
DWORD dwRetVal = 0; if (GetAdaptersAddresses(AF_INET, 0, NULL, pAddresses, &outBufLen) == ERROR_BUFFER_OVERFLOW)
{
delete pAddresses;
pAddresses = (IP_ADAPTER_ADDRESSES*) malloc(outBufLen);
} if ((dwRetVal = GetAdaptersAddresses(AF_INET, 0, NULL, pAddresses, &outBufLen)) == NO_ERROR)
{
while (pAddresses)
{
if (pAddresses->PhysicalAddressLength != 0)
{
CString sm;
sm.Format(_T("%x"),pAddresses->PhysicalAddress);
this->MessageBox(sm);//这里为什么得不到MAC地址?
}
pAddresses = pAddresses->Next;
}
}
}void CGetAdepterInfoDlg::OnBnClickedButton1()
{
this->GetInfo();
}
printf("Error: get MAC fail, [error=%d, %s]\n", errno, strerror(errno);
老外的回复。。