Just use GetAdaptersInfo() defined in iphlpapi.h, Link to Iphlpapi.lib.
In the struct IP_ADAPTER_INFO you may get adaptor’s MAC, IPv4 addresses, gateways, and secondary WINS servers and so on. The Address contains the MAC, and IpAddressList contains the IP information.
DWORD GetAdaptersInfo(
PIP_ADAPTER_INFO pAdapterInfo,
PULONG pOutBufLen
);
| void CgetAdaptorDlg::OnBnClickedButton() { m_AdaptorCombo.ResetContent();
PIP_ADAPTER_INFO pAdapterInfo = NULL; PIP_ADAPTER_INFO pAdapter = NULL; DWORD dwRetVal = 0;
ULONG ulOutBufLen = 0;
// allocate memory if (GetAdaptersInfo(pAdapterInfo, &ulOutBufLen) == ERROR_BUFFER_OVERFLOW) { //free(pAdapterInfo); pAdapterInfo = (IP_ADAPTER_INFO *) malloc(ulOutBufLen); if (pAdapterInfo == NULL) { printf("Error allocating memory needed to call GetAdaptersinfo/n"); return; } }
if ((dwRetVal = GetAdaptersInfo(pAdapterInfo, &ulOutBufLen)) == NO_ERROR) {
pAdapter = pAdapterInfo; while (pAdapter) { m_AdaptorCombo.AddString(pAdapter->IpAddressList.IpAddress.String);
pAdapter = pAdapter->Next; }
} else { //printf("GetAdaptersInfo failed with error: %d/n", dwRetVal);
} if (pAdapterInfo) free(pAdapterInfo);
return ; } |
本文介绍了一种通过调用Windows API函数GetAdaptersInfo来获取计算机上所有网络适配器信息的方法。该方法可以读取到包括MAC地址、IPv4地址在内的网络适配器详细配置,并通过实例代码展示了如何利用这些信息填充组合框。
9357

被折叠的 条评论
为什么被折叠?



