VC获取MAC地址
来源:互联网 发布:bind dns windows 编辑:程序博客网 时间:2024/05/21 03:25
以前用WDK获取一些硬件信息,但是有些需要管理员权限,比较尴尬。谁都不喜欢多弹一个对话框。
现在又因为需要获取mac地址,在网上收集了一下方法,还是有一些方法。使用过其中两三种,比较推荐如下:(个人在vc2010下使用的)原因是,存在虚拟机时,其他方法往往不能获取真实mac地址,而是虚拟机的。下面方法能比较准确的获取真实物理网卡地址。当然,我没测试多个物理网卡情况。
#include <iphlpapi.h>
#pragma comment(lib, "iphlpapi.lib ")
BOOL GetMacAddress(CString &strMac)
{
PIP_ADAPTER_INFO pAdapterInfo;
DWORD AdapterInfoSize;
TCHAR szMac[32] = {0};
DWORD Err;
AdapterInfoSize = 0;
Err = GetAdaptersInfo(NULL, &AdapterInfoSize);
if((Err != 0) && (Err != ERROR_BUFFER_OVERFLOW))
{
TRACE("获得网卡信息失败!");
return FALSE;
}
// 分配网卡信息内存
pAdapterInfo = (PIP_ADAPTER_INFO) GlobalAlloc(GPTR, AdapterInfoSize);
if(pAdapterInfo == NULL)
{
TRACE("分配网卡信息内存失败");
return FALSE;
}
if(GetAdaptersInfo(pAdapterInfo, &AdapterInfoSize) != 0)
{
TRACE(_T("获得网卡信息失败!\n"));
GlobalFree(pAdapterInfo);
return FALSE;
}
strMac.Format(_T("%02X-%02X-%02X-%02X-%02X-%02X"),
pAdapterInfo->Address[0],
pAdapterInfo->Address[1],
pAdapterInfo->Address[2],
pAdapterInfo->Address[3],
pAdapterInfo->Address[4],
pAdapterInfo->Address[5]);
GlobalFree(pAdapterInfo);
return TRUE;
}
同时附上另一个网址,WDK方法:http://blog.csdn.net/jhqin/article/details/5618667
- VC获取MAC地址
- VC获取MAC地址
- [VC++]获取MAC地址
- vc获取MAC地址
- VC++ 获取mac地址
- VC上获取MAC地址
- 用VC获取本机MAC地址
- 获取远程网卡MAC地址(VC++)
- VC获取本机MAC地址源代码
- VC 物理MAC地址的获取方法
- VC 获取物理网卡的MAC地址
- VC 获取物理网卡的MAC地址
- VC获取本机mac地址
- 在VC下获取原始MAC地址
- VC之获取计算机网卡mac地址
- VC之获取计算机网卡mac地址
- VC 获取物理网卡的MAC地址
- VC获取IP地址和MAC地址程序(转载)
- 2013-03-05 By dapps 苹果应用商店AppStore审核中文指南(译本)
- Hadoop实战初级部分PPT及源码下载 Hadoop实战-中高级部分 PPT 和 源码 下载
- 原码、反码、补码
- 面试题:判断整数序列是不是二元查找树的后序遍历结果
- 利用POVME计算蛋白的口袋的体积
- VC获取MAC地址
- 斐波那契数列的思维方式
- Linux shell编程入门
- 解决windows下面的工程导入ubuntu下eclipse中文乱码
- IE6下Png透明最佳解决方案
- html5游戏开发--"动静"结合(一)-动态画面的实现
- 如何写程序
- 解决CentOS(RedHat)中sendmail和sm-client启动慢故障
- CKPT检查点队列