#include <iphlpapi.h>
#pragma comment(lib, "IPHLPAPI.lib")
//
void CMFCTestDlg::OnBnClickedButton1()
{
PIP_ADAPTER_INFO info;
info = (IP_ADAPTER_INFO *)malloc(sizeof(IP_ADAPTER_INFO));
ULONG ulOutBufLen = sizeof (IP_ADAPTER_INFO);
if(GetAdaptersInfo(info, &ulOutBufLen) == ERROR_BUFFER_OVERFLOW)
{
//ulOutBufLen为链表(存网卡信息)长度,
//这个是根据网卡个数的来的
//第一次调用GetAdaptersInfo得到ulOutBufLen长度
//重新分配内存
free(info);
info = (IP_ADAPTER_INFO *)malloc(ulOutBufLen);
}
//再次调用GetAdaptersInfo,多个网卡信息就都在info中了
if(GetAdaptersInfo(info, &ulOutBufLen) == ERROR_NO_DATA)
{
MessageBox(_T("已禁用"));
}
else
{
MessageBox(_T("已连接"));
}
free(info);
info = NULL;
}