时间:2021-05-20
本文实例讲述了C++获取本机MAC,IP,MASK地址的方法,分享给大家供大家参考。具体方法如下:
复制代码 代码如下:#include "InitSock.h"
#include <stdio.h>
#include <iphlpapi.h>
#pragma comment(lib, "IPHLPAPI.lib")
u_char g_ucLocalMac[6];
DWORD g_dwGatewayIP;
DWORD g_dwLocalIP;
DWORD g_dwMask;
BOOL GetGlobalData()
{
PIP_ADAPTER_INFO pAdapterInfo = NULL;
ULONG ulSize = 0;
//为结构申请内存
::GetAdaptersInfo(pAdapterInfo, &ulSize);
pAdapterInfo = (PIP_ADAPTER_INFO)::GlobalAlloc(GPTR, ulSize);
if ( ERROR_SUCCESS == ::GetAdaptersInfo(pAdapterInfo, &ulSize))
{
if (pAdapterInfo != NULL)
{
memcpy(g_ucLocalMac, pAdapterInfo->Address, 6);
g_dwGatewayIP = ::inet_addr(pAdapterInfo->GatewayList.IpAddress.String);
g_dwLocalIP = ::inet_addr(pAdapterInfo->IpAddressList.IpAddress.String);
g_dwMask = ::inet_addr(pAdapterInfo->IpAddressList.IpMask.String);
}
}
//in_addr表示IP的结构
in_addr in;
in.S_un.S_addr = g_dwLocalIP;
printf(" IP Address:%-30s\n", ::inet_ntoa(in));
in.S_un.S_addr = g_dwGatewayIP;
printf(" Gateway Address:%-30s\n", ::inet_ntoa(in));
in.S_un.S_addr = g_dwMask;
printf(" MASK Address:%-30s\n", ::inet_ntoa(in));
u_char* p = g_ucLocalMac;
printf(" MAC:%02X-%02X-%02X-%02X-%02X-%02X\n", p[0], p[1], p[2], p[3], p[4], p[5]);
::GlobalFree(pAdapterInfo);
pAdapterInfo = NULL;
return TRUE;
}
void main()
{
CInitSock initSock;
GetGlobalData();
printf("*******************************");
getchar();
}
希望本文所述对大家的C++程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了C#获取本机IP地址和Mac地址的方法。分享给大家供大家参考。具体分析如下:查找了几个方法,经过调试修改,下面这个方法能很好的获取到本地的IP和M
本机IP地址怎么获取win8系统下获取ip地址本机IP地址怎么获取win8系统下获取ip地址本机IP地址怎么获取win8系统下获取ip地址本机IP地址怎么获取w
本文实例讲述了C#实现获取本地内网(局域网)和外网(公网)IP地址的方法。分享给大家供大家参考,具体如下:1、获取本机的IP地址集合://////获取本机所有i
本文为大家分享了C++获取本机的ip地址程序,供大家参考,具体内容如下头文件#include#pragmacomment(lib,"ws2_32")//链接到w
效果:说明:获取本局域网的MAC地址(非本机的MAC地址)代码:复制代码代码如下://////获取网卡物理地址//////publicstaticstringg