windows 平台下获取网卡的Mac地址
2014-07-14 13:37
288 查看
// mac.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include<atlbase.h>
#include<atlconv.h>
#include"iphlpapi.h"
# pragma comment(lib,"Iphlpapi.lib")
int _tmain(int argc, _TCHAR* argv[])
{
PIP_ADAPTER_INFO pAdapterInfo;
PIP_ADAPTER_INFO pAdapter=NULL;
DWORD dwRetVal=0;
pAdapterInfo=(IP_ADAPTER_INFO*)malloc(sizeof(IP_ADAPTER_INFO));
ULONG ulOutBufLen=sizeof(IP_ADAPTER_INFO);
if(GetAdaptersInfo(pAdapterInfo,&ulOutBufLen)!=ERROR_SUCCESS){
GlobalFree(pAdapterInfo);
pAdapterInfo=(IP_ADAPTER_INFO*)malloc(ulOutBufLen);
}
if((dwRetVal=GetAdaptersInfo(pAdapterInfo,&ulOutBufLen))==NO_ERROR){
pAdapter=pAdapterInfo;
int count = 0;
while(pAdapter){
printf("AdapterAddr:%s \n",pAdapter->Description);
// if(strstr(pAdapter->Description,"PCI")>0//pAdapter->Description???"PCI"??????//pAdapter->Type?71??????
// ||pAdapter->Type==71
// )
if(pAdapter->Type > 0)
{
printf("------------------------------------------------------------\n");
// printf("AdapterName:\t%s\n",pAdapter->AdapterName);
// printf("AdapterDesc:\t%s\n",pAdapter->Description);
char *tempMac = new char[40];
memset(tempMac,0,40);
printf("AdapterAddr:\t");
for(UINT i=0;i<pAdapter->AddressLength;i++){
char *subMac = new char[10];
sprintf(subMac,"%02X%c",pAdapter->Address[i],
i==pAdapter->AddressLength-1? '\n':'-');
strcat(tempMac,subMac);
}
printf("tempMac = %s",tempMac);
// printf("AdapterType:\t%d\n",pAdapter->Type);
// printf("IPAddress:\t%s\n",pAdapter->IpAddressList.IpAddress.String);
// printf("IPMask:\t%s\n",pAdapter->IpAddressList.IpMask.String);
}
pAdapter=pAdapter->Next;
}
}
else
{
printf("Call to Get Adapters Information failed\n");
}
return 0;
}
//
#include "stdafx.h"
#include<atlbase.h>
#include<atlconv.h>
#include"iphlpapi.h"
# pragma comment(lib,"Iphlpapi.lib")
int _tmain(int argc, _TCHAR* argv[])
{
PIP_ADAPTER_INFO pAdapterInfo;
PIP_ADAPTER_INFO pAdapter=NULL;
DWORD dwRetVal=0;
pAdapterInfo=(IP_ADAPTER_INFO*)malloc(sizeof(IP_ADAPTER_INFO));
ULONG ulOutBufLen=sizeof(IP_ADAPTER_INFO);
if(GetAdaptersInfo(pAdapterInfo,&ulOutBufLen)!=ERROR_SUCCESS){
GlobalFree(pAdapterInfo);
pAdapterInfo=(IP_ADAPTER_INFO*)malloc(ulOutBufLen);
}
if((dwRetVal=GetAdaptersInfo(pAdapterInfo,&ulOutBufLen))==NO_ERROR){
pAdapter=pAdapterInfo;
int count = 0;
while(pAdapter){
printf("AdapterAddr:%s \n",pAdapter->Description);
// if(strstr(pAdapter->Description,"PCI")>0//pAdapter->Description???"PCI"??????//pAdapter->Type?71??????
// ||pAdapter->Type==71
// )
if(pAdapter->Type > 0)
{
printf("------------------------------------------------------------\n");
// printf("AdapterName:\t%s\n",pAdapter->AdapterName);
// printf("AdapterDesc:\t%s\n",pAdapter->Description);
char *tempMac = new char[40];
memset(tempMac,0,40);
printf("AdapterAddr:\t");
for(UINT i=0;i<pAdapter->AddressLength;i++){
char *subMac = new char[10];
sprintf(subMac,"%02X%c",pAdapter->Address[i],
i==pAdapter->AddressLength-1? '\n':'-');
strcat(tempMac,subMac);
}
printf("tempMac = %s",tempMac);
// printf("AdapterType:\t%d\n",pAdapter->Type);
// printf("IPAddress:\t%s\n",pAdapter->IpAddressList.IpAddress.String);
// printf("IPMask:\t%s\n",pAdapter->IpAddressList.IpMask.String);
}
pAdapter=pAdapter->Next;
}
}
else
{
printf("Call to Get Adapters Information failed\n");
}
return 0;
}
相关文章推荐
- windows平台下获取网卡MAC地址、硬盘序列号、主板序列号、CPU ID、BIOS序列号
- php 获取网卡MAC地址,需要借助平台的命令
- java简单的获取windows系统网卡mac地址
- java在windows上获取网卡的mac地址
- windows平台下 c++获取 系统版本 网卡 内存 CPU 硬盘 显卡信息
- windows平台下 c++获取 系统版本 网卡 内存 CPU 硬盘 显卡信息<转>
- Windows Phone平台下获取IMEI、IMSI、制造商、型号、机器ID、网卡MAC地址、机主等信息
- javascript获取客户端网卡MAC地址和IP地址和计算机名 [可用]
- 获取网卡的MAC地址和IP地址
- C#中获取CPU序列号、网卡Mac地址、IP地址、硬盘序列号、登录用户名、PC类型、计算机名称、物理内存,Singleton模式
- 获取客户端网卡MAC地址和IP地址的几种方法(一)
- windows启动缓慢的原因之一:网卡设置为自动获取IP
- 获取cpu序列号,硬盘ID,网卡MAC地址
- 获取cpu序列号,硬盘ID,网卡MAC地址(转载)
- 获取远程网卡MAC地址
- C#中获取逻辑磁盘、网卡MAC地址、CPUID等信息的代码
- 同样指令bmp.LockBits不同平台(Windows/WinCE)获取位图的数据不同
- 获取客户端网卡MAC地址和IP地址的几种方法
- 利用windows内置的控件获取客户端网卡MAC地址
- 获取客户端网卡MAC地址的几种方法