⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myprog.cpp

📁 获取网卡信息 GetAdaptersInfo
💻 CPP
字号:
#include <windows.h>
#include <tchar.h>

#include <iphlpapi.h>
#pragma comment(lib, "iphlpapi.lib")

char Buffer[1024] = {0};
char Buffer_printf[1024];

//extern "C" int WinMainCRTStartup(void)
int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
	PIP_ADAPTER_INFO PIp_Adapter_Info;

	ULONG ulOutBufLen = sizeof(IP_ADAPTER_INFO);
	PIp_Adapter_Info = (PIP_ADAPTER_INFO)LocalAlloc(LMEM_FIXED | LMEM_ZEROINIT, ulOutBufLen);

	if ( GetAdaptersInfo(PIp_Adapter_Info, &ulOutBufLen) == ERROR_BUFFER_OVERFLOW ) 
	{
		LocalFree(PIp_Adapter_Info);
		PIp_Adapter_Info = (PIP_ADAPTER_INFO)LocalAlloc(LMEM_FIXED | LMEM_ZEROINIT, ulOutBufLen);
	}

	if ( GetAdaptersInfo(PIp_Adapter_Info, &ulOutBufLen) == NO_ERROR)
	{
		PIP_ADAPTER_INFO p_PIp_Adapter_Info = PIp_Adapter_Info;
		while (p_PIp_Adapter_Info)
		{
			wsprintfA(Buffer_printf, "GUID: \t%s\n", p_PIp_Adapter_Info->AdapterName);
			lstrcatA(Buffer, Buffer_printf);
			wsprintfA(Buffer_printf, "描述: \t%s\n", p_PIp_Adapter_Info->Description);
			lstrcatA(Buffer, Buffer_printf);
			wsprintfA(Buffer_printf, "MAC地址: \t%02X-%02X-%02X-%02X-%02X-%02X\n",
				p_PIp_Adapter_Info->Address[0],
				p_PIp_Adapter_Info->Address[1],
				p_PIp_Adapter_Info->Address[2],
				p_PIp_Adapter_Info->Address[3],
				p_PIp_Adapter_Info->Address[4],
				p_PIp_Adapter_Info->Address[5]);
			lstrcatA(Buffer, Buffer_printf);
			wsprintfA(Buffer_printf, "IP 地址: \t\t%s\n", p_PIp_Adapter_Info->IpAddressList.IpAddress.String);
			lstrcatA(Buffer, Buffer_printf);
			wsprintfA(Buffer_printf, "子网掩码: \t%s\n", p_PIp_Adapter_Info->IpAddressList.IpMask.String);
			lstrcatA(Buffer, Buffer_printf);
			wsprintfA(Buffer_printf, "默认网关: \t%s\n", p_PIp_Adapter_Info->GatewayList.IpAddress.String);
			lstrcatA(Buffer, Buffer_printf);
			wsprintfA(Buffer_printf, "***\n");
			lstrcatA(Buffer, Buffer_printf);

			if (p_PIp_Adapter_Info->DhcpEnabled)
			{
				wsprintfA(Buffer_printf, "DHCP Enabled: Yes\n");
				lstrcatA(Buffer, Buffer_printf);
				wsprintfA(Buffer_printf, "DHCP Server: \t%s\n", p_PIp_Adapter_Info->DhcpServer.IpAddress.String);
				lstrcatA(Buffer, Buffer_printf);
				wsprintfA(Buffer_printf, "租期: %ld\n", p_PIp_Adapter_Info->LeaseObtained);
				lstrcatA(Buffer, Buffer_printf);
			}
			else
			{
				wsprintfA(Buffer_printf, "DHCP Enabled: No\n");
				lstrcatA(Buffer, Buffer_printf);
			}

			if (p_PIp_Adapter_Info->HaveWins)
			{
				wsprintfA(Buffer_printf, "Have Wins: Yes\n");
				lstrcatA(Buffer, Buffer_printf);
				wsprintfA(Buffer_printf, "Primary Wins Server: \t%s\n", p_PIp_Adapter_Info->PrimaryWinsServer.IpAddress.String);
				lstrcatA(Buffer, Buffer_printf);
				wsprintfA(Buffer_printf, "Secondary Wins Server: \t%s\n", p_PIp_Adapter_Info->SecondaryWinsServer.IpAddress.String);
				lstrcatA(Buffer, Buffer_printf);
			}
			else
			{
				wsprintfA(Buffer_printf, "Have Wins: No\n");
				lstrcatA(Buffer, Buffer_printf);
			}
			p_PIp_Adapter_Info = p_PIp_Adapter_Info->Next;
			lstrcatA(Buffer, "\r\n");
		}
		return MessageBoxA(NULL, Buffer, "", MB_OK);
	}

	return MessageBoxA(NULL, "", NULL, MB_OK);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -