基本上
#include <Windows.h>
#include <Iphlpapi.h>
#include <Assert.h>
#include <iostream>
#pragma comment(lib, "libiphlpapi.lib")
using namespace std;
// Prints the MAC address stored in a 6 byte array to stdout
static void PrintMACaddress(unsigned char MACData[])
{
printf("MAC Address: %02X-%02X-%02X-%02X-%02X-%02X\n\n",
MACData[0], MACData[1], MACData[2], MACData[3], MACData[4], MACData[5]);
}
// Fetches the MAC address and prints it
static void GetMACaddress(void)
{
// Allocate information for up to 16 NICs
IP_ADAPTER_INFO AdapterInfo[16];
// Save the memory size of buffer
DWORD dwBufLen = sizeof(AdapterInfo);
// Call GetAdapterInfo
// [out] buffer to receive data
// [in] size of receive data buffer
DWORD dwStatus = GetAdaptersInfo(AdapterInfo, &dwBufLen);
// Verify return value is valid, no buffer overflow
assert(dwStatus == ERROR_SUCCESS);
// Contains pointer to current adapter info
PIP_ADAPTER_INFO pAdapterInfo = AdapterInfo;
do {
cout << pAdapterInfo->Description << endl;
PrintMACaddress(pAdapterInfo->Address);
// Progress through linked list
pAdapterInfo = pAdapterInfo->Next;
}while(pAdapterInfo); // Terminate if last adapter
}
int main(int argc, char* argv[])
{
GetMACaddress(); // Obtain MAC address of adapters
system("pause");
return 0;
}
就是這樣
可自行查詢MSDN關於PIP_ADAPTER_INFO
可以依此類推
浙公网安备 33010602011771号