Código:
//---------------------------------------------------------------------------
#include <windows.h>
#include <winsock2.h>
#include <Iphlpapi.h>
#include <stdio.h>
#include <conio.h>
#pragma comment(lib, "iphlpapi.lib")
#pragma hdrstop
//---------------------------------------------------------------------------
void GetIPAddress(void)
{
PIP_ADAPTER_INFO AI, pAI;
DWORD AILen;
GetAdaptersInfo(0, &AILen);
pAI = AI = (PIP_ADAPTER_INFO) new BYTE[AILen];
if(!GetAdaptersInfo(pAI, &AILen)){
do{
printf("%s:\n", pAI->Description, pAI->Address[0]);
printf("\tMAC: \t\t%.2X-%.2X-%.2X-%.2X-%.2X-%.2X\n", pAI->Address[0], pAI->Address[1], pAI->Address[2], pAI->Address[3], pAI->Address[4], pAI->Address[5]);
printf("\tIP Address: \t%s\n\n", pAI->IpAddressList.IpAddress.String);
pAI = pAI->Next;
} while(pAI);
}
delete [] AI;
getch();
}
int main()
{
GetIPAddress();
return 0;
}
Lista todas los adaptadores de red (físicos o virtuales) dando su MAC y su IP
Un detalle, para importar la API
GetAdaptersInfo de la librería iphlpapi.dll en Builder 5 o lo haces dinámicamente o de forma estática como yo.
iphlpapi.lib la creas con la utilidad IMPLIB que viene con Builder.
Saludos.