1,317
社区成员
发帖
与我相关
我的任务
分享
long hr;
IPAddr ipAddr;
ULONG pulMac[2];
ULONG ulLen;
ipAddr = inet_addr(LabeledEdit1->Text.Trim().c_str());
memset(pulMac, 0, sizeof(pulMac));
ulLen = sizeof(pulMac);
hr = SendARP(ipAddr, 0, pulMac, &ulLen);
if(hr == NO_ERROR)
{
size_t i, j;
char* szMac = new char[ulLen*3];
PBYTE pbHexMac = (PBYTE)pulMac;
//
// Convert the binary MAC address into human-readable
//
for(i = 0, j = 0; i < ulLen-1; ++i)
{
j += sprintf(szMac + j, "%02X:", pbHexMac[i]);
}
sprintf(szMac + j, "%02X", pbHexMac[i]);
ShowMessage("Mac地址:"+AnsiString(szMac));
delete[] szMac;
}
else
{
ShowMessage("失败");
}