`

VC获取本机MAC地址

    博客分类:
  • C++
 
阅读更多

//获取硬盘ID信息及网卡MAC地址的代码
#include "stdafx.h"
#include <atlbase.h>
#include <atlconv.h>
#include "iphlpapi.h"
#pragma comment ( lib, "Iphlpapi.lib" )


 BOOLEAN getActiveMac( char* sMac )

 BOOLEAN bRtn = FALSE;

 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)
 {
  free (pAdapterInfo);
  pAdapterInfo = (IP_ADAPTER_INFO *) malloc (ulOutBufLen);
 }

 if ((dwRetVal = GetAdaptersInfo( pAdapterInfo, &ulOutBufLen)) == NO_ERROR)
 {
  pAdapter = pAdapterInfo;
  char szMac[20] = {0};
  char szAddress[4] = {0};
  while (pAdapter)
  { 
   
   if ( strcmp( pAdapter->IpAddressList.IpAddress.String ,"0.0.0.0" ) != 0 )
   {
    for (UINT i = 0; i < pAdapter->AddressLength; i++)
    { 
     sprintf_s( szAddress , "%02X", pAdapter->Address[i] );
     strcat_s( szMac , szAddress );
     if( i != pAdapter->AddressLength - 1 )
     {
      strcat_s( szMac , "-" );
     }
    }
    break;
   }
   pAdapter = pAdapter->Next;
  }

  memcpy( sMac , szMac , strlen( szMac ) );

 }
 else
 {
  printf("Call to GetAdaptersInfo failed.\n");
 }

 return bRtn;
}

  
 int main(int argc, char* argv[])
 {
  
  char sMac[20] = {0};
  getActiveMac( sMac );
  printf( "%s" , sMac );

  return 0;
 }

分享到:
评论

相关推荐

    VC源码获取本机mac地址

    下面是一个简单的VC++ 6.0源码示例,展示了如何使用`GetAdaptersInfo`函数获取MAC地址: ```cpp #include #include #include #pragma comment(lib, "iphlpapi.lib") #pragma comment(lib, "ws2_32.lib") void ...

    VC获取本机名称IP地址MAC地址

    在计算机网络中,获取本机的名称、IP地址和MAC地址是常见的操作,尤其是在软件开发过程中,例如在VC(Visual C++)环境下。这些信息对于网络通信、设备识别和故障排查至关重要。以下将详细讲解如何在VC中实现这些...

    VC6.0获取MAC地址

    总的来说,通过VC6.0和C++获取MAC地址涉及到Windows API的使用,特别是`iphlpapi.lib`库中的函数,如`GetAdaptersInfo()`。这个过程需要对C++编程和Windows API有一定了解,以便正确地链接库、包含头文件以及编写...

    vc 获取MAC地址的代码

    本项目使用VC++ 2005 MFC库,提供了一个不依赖于Windows网络服务的方式来获取MAC地址。 首先,我们要理解如何通过`ipconfig`命令获取MAC地址。在Windows系统中,`ipconfig`是一个命令行实用工具,用于显示网络配置...

    VC实现获取本机MAC地址的方法

    在Windows环境下,开发C或C++程序时,获取本机MAC(Media Access Control)地址是一项常见的任务,特别是在网络编程中。MAC地址是物理网络接口卡(NIC)的唯一标识,通常用于局域网通信。在VC++(Visual C++)环境中...

    vc获取机器指纹(CPU ID、硬盘ID、MAC地址、BIOS)

    "VC获取机器指纹(CPU ID、硬盘ID、MAC地址、BIOS)"这个项目涉及到使用Visual C++(VC)编程语言来获取计算机的一些独特硬件标识,这些标识可以组合成一个唯一的“指纹”。以下是关于这些硬件标识及其获取方法的...

    socket编程获取mac地址

    需要注意的是,获取MAC地址的方法可能因操作系统的不同而有所不同,并且某些情况下,例如虚拟机或无物理网卡的环境,可能无法直接获取到真实的MAC地址。此外,为了保护用户隐私,操作系统可能会提供随机生成的MAC...

    VC 获取MAC和IP 域名,网关和DNS设置代码.rar

    VC 获取MAC和IP的代码,同时获得域名、主机名、独立工作域、绑定的Ip地址、默认网关以及DNS等。可将本代码所演示的获取方法应用到其它的VC 开发项目中,挺基础,但属于有必要掌握的内容,测试截图如图所示。  程序...

    VC6 获取MAC地址

    简单的VC++ 获取mac地址识别标识,自己运行过,完全可以用的

    vc制作获取mac地址dll

    本项目名为“vc制作获取mac地址dll”,其核心是创建一个动态链接库(DLL),该库被设计用于客户端软件中,以便能够获取客户计算机的MAC地址。DLL是一种可执行代码模块,它可以被多个程序同时调用,从而实现了代码...

    vc++获取取网卡MAC地址的三种方法.zip

    首先,你需要在项目中包含WinPCap的头文件和库文件,然后使用`pcap_findalldevs`函数列出所有网络接口,再通过`pcap_if_t`结构体找到目标网卡的`地址`字段,获取MAC地址。 2. **利用Windows API** Windows操作系统...

    vc6.0 获取MAC函数文件

    标题中的"vc6.0 获取MAC函数文件"指的是在Visual C++ 6.0环境下,开发者需要使用特定的函数来获取计算机的MAC地址。在Windows操作系统中,这通常涉及到网络编程,尤其是涉及到底层网络信息查询时。MAC地址是每个网络...

    vc 网卡ip真实 mac获取

    2. **获取MAC地址**: - 命令行方式:使用`getmac`命令可以列出所有网络适配器的MAC地址。运行`getmac /v`将显示详细信息,包括上层和下层MAC。 - 设备管理器:在网络适配器部分,可以查看每个适配器的物理地址,...

    获取本地MAC地址小程序

    在`VC获取MAC地址.cpp`源代码中,开发者可能首先包含了必要的头文件,如`winsock2.h`和`iphlpapi.h`,这两个头文件提供了网络编程和网络接口相关的函数声明。然后,程序会初始化Winsock,接着调用`...

    C++编程获取IP地址和MAC地址

    VC 下建立win32程序实现获取本机IP地址和MAC 地址

    VC轻松获取MAC函数

    在提供的压缩包文件中,`VC获取MAC程序.rar`可能包含了一个完整的VC++项目,实现了上述功能。而`IPHelper(iphlpapi+下载).rar`可能是关于`iphlpapi`库的一些额外资料或者示例代码,帮助开发者更好地理解和使用这个库...

    vc源代码 得到指定IP机器的MAC地址.zip

    从文件列表来看,`rmac.cpp`可能是主要的实现文件,可能包含了获取MAC地址的函数。`stdafx.cpp`和`stdafx.h`包含预编译头文件,这些文件可以提高编译速度。`Resource.h`定义了应用程序的资源,如对话框、菜单等。`...

    获取硬盘、主板、CPU、网卡MAC地址等硬件序列号信息的c++/vc6.0GetHDSerial源码

    在这个项目"获取硬盘、主板、CPU、网卡MAC地址等硬件序列号信息的c++/vc6.0 GetHDSerial源码"中,开发者使用了C++和VC6.0(Visual C++ 6.0)编译器,提供了一套完整的源代码解决方案,用于获取计算机硬件的关键识别...

    vc 获取局域网活动主机地址

    2. **网络接口卡(NIC)信息**:首先,你需要获取本地计算机上的所有网卡信息,包括它们的名称、描述和物理地址(MAC地址)。在WinPCap中,可以使用`pcap_findalldevs`函数来枚举所有可用的网络设备。 3. **IP-MAC...

    vc6.0读取MAC地址

    vc6.0实现MAC地址的读取,保证软件在唯一电脑中运行。

Global site tag (gtag.js) - Google Analytics