基本上
#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
可以依此類推