资源简介
在MFC环境下获取本机网络信息,本地IP 外网IP 子虚掩码 mac地址

代码片段和文件信息
#include “StdAfx.h“
#include
#include “NetworkConf.h“
#include
#include
#include “Iphlpapi.h“
#include
#pragma comment(lib“Iphlpapi“)
#pragma comment(lib“WS2_32“)
using namespace std;
CNetworkConf::CNetworkConf(void)
{
ZeroMemory(m_ucLocalMac6);
m_dwGatewayIP=m_dwLocalIP=m_dwMask=0;
m_pAdapterInfo=NULL;
m_lLen=0;
::GetAdaptersInfo(m_pAdapterInfo&m_lLen);
m_pAdapterInfo=(PIP_ADAPTER_INFO)::GlobalAlloc(GPTRm_lLen);
m_strNavigateUrl=_T(“http://www.whatismyip.com.tw/“);
}
CNetworkConf::~CNetworkConf(void)
{
}
/*
*函数名:GetIPinfo
*参 数:是否内网(支持获取外网IP)
*返回值:CString IP地址
*注 意:投递外网IP的链接可能不稳定
*/
CString CNetworkConf::GetIPinfo( bool bIntranet/*=false*/ )
{
CString strLocalIP=_T(““);
if (bIntranet)
{
if (InitNetInfo())
{
in_addr in;
in.S_un.S_addr=m_dwLocalIP;
strLocalIP=inet_ntoa(in);
}
}else
{
CAtlHttpClient httpClient;
m_strNavigateUrl=_T(“http://www.ip138.com/“);
if (httpClient.Navigate(m_strNavigateUrl))
{
if (httpClient.GetStatus()==200)
{
int nLen=httpClient.GetBodyLength();
char* pBuff=new char[nLen+1];
memset(pBuff0nLen+1);
memcpy(pBuffhttpClient.GetBody()nLen);
strLocalIP=pBuff;
int nLeft=strLocalIP.Find(_T(““))+CString(_T(““)).GetLength();
int nCount=strLocalIP.Find(_T(“
“))-nLeft;
strLocalIP=strLocalIP.Mid(nLeftnCount);
delete []pBuff;
}
}
}
return strLocalIP;
}
CString CNetworkConf::GetMacinfo()
{
CString strMac=_T(““);
if (InitNetInfo())
{
UCHAR *pInfo=m_ucLocalMac;
strMac.AppendFormat(_T(“%02X-%02X-%02X-%02X-%02X-%02X“) pInfo[0] pInfo[1] pInfo[2] pInfo[3] pInfo[4] pInfo[5]);
}
return strMac;
}
CString CNetworkConf::GetSubnetMask()
{
CString strMask=_T(““);
if (InitNetInfo())
{
in_addr in;
in.S_un.S_addr=m_dwMask;
strMask=inet_ntoa(in);
}
return strMask;
}
CString CNetworkConf::GetGateway()
{
CString strGatewayIP=_T(““);
if (InitNetInfo())
{
in_addr in;
in.S_un.S_addr=m_dwGatewayIP;
strGatewayIP=inet_ntoa(in);
}
return strGatewayIP;
}
bool CNetworkConf::InitNetInfo()
{
bool bSuccess=(ERROR_SUCCESS==::GetAdaptersInfo(m_pAdapterInfo&m_lLen)) ;
memcpy(m_ucLocalMac m_pAdapterInfo->Address 6);
m_dwGatewayIP = ::inet_addr(m_pAdapterInfo->GatewayList.IpAddress.String);
m_dwLocalIP = ::inet_addr(m_pAdapterInfo->IpAddressList.IpAddress.String);
m_dwMask = ::inet_addr(m_pAdapterInfo->IpAddressList.IpMask.String);
return bSuccess;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-09-29 13:04 NetworkConf\
文件 2642 2012-09-29 13:03 NetworkConf\NetworkConf.cpp
文件 535 2012-09-29 10:40 NetworkConf\NetworkConf.h
- 上一篇:MFCC的matlab实现
- 下一篇:MFC类图-vs2010最新
相关资源
- VC6.0获取MAC地址
- IP地址查询 C++源代码
- MFC获取主机名,IP地址,MAC地址
- ARP协议获取所有局域网内活动主机的
- windows下获取CPU、BIOS、硬盘、MAC地址
- 网络编程C++ MFC获取MAC地址
- MFC IP地址 网关 MAC地址获取
- IP地址查物理地址C/C++
- VC gethostname获取计算机名和IP地址.
- LanScannerMFC程序扫描局域网内主机Mac地
- C++ QT中 通过UDP广播获取网络中所有设
- vc++ mfc 基于udp协议在不同ip地址之间
- HDHookHookAPI改变硬盘串号和MAC地址
- 过滤防火墙
- 获取自己的外网ip地址
- IP地址修改器源码
- mfc获取mac地址的小程序
- C/C++:Windows编程—代码获取本地所有
- windows网络编程课程设计源代码
- Mfc获取本机IP地址
- Chrome获取MAC地址扩展程序
- MFC实现获取当前计算机的主机名和I
- VC6 获取MAC地址
- 跟进域名解析IP地址(c++ builder)
- C++实战源码-获得本机的IP地址
- C++ 通过计算机名称获取IP地址
- C/C++获取设备MAC地址
- c++ IP地址修改源码(更换ip地址)
- IP地址的合法性及子网判断试验报告,
- 通过编程获取IP地址与MAC地址的对应关
评论
共有 条评论