【C++】【纯代码】获取电脑的mac地址
bool GetMacAddress(CString &LanMAC)
{
#define MAX_ADAPTER_NAME_LENGTH 256
#define MAX_ADAPTER_DESCRIPTION_LENGTH 128
#define MAX_ADAPTER_ADDRESS_LENGTH 8
typedef struct _NET_IP_ADDRESS_STRING{
char String[16];
} NET_IP_ADDRESS_STRING, *PNET_IP_ADDRESS_STRING, NET_IP_MASK_STRING, *PNET_IP_MASK_STRING;
typedef struct _NET_IP_ADDR_STRING {
struct _NET_IP_ADDR_STRING* Next;
NET_IP_ADDRESS_STRING IpAddress;
NET_IP_MASK_STRING IpMask;
DWORD Context;
} NET_IP_ADDR_STRING, *PNET_IP_ADDR_STRING;
typedef struct _NET_IP_ADAPTER_INFO {
struct _NET_IP_ADAPTER_INFO* Next;
DWORD ComboIndex;
char AdapterName[MAX_ADAPTER_NAME_LENGTH + 4];
char Description[MAX_ADAPTER_DESCRIPTION_LENGTH + 4];
UINT AddressLength;
BYTE Address[MAX_ADAPTER_ADDRESS_LENGTH];
DWORD Index;
UINT Type;
UINT DhcpEnabled;
PNET_IP_ADDR_STRING CurrentIpAddress;
NET_IP_ADDR_STRING IpAddressList;
NET_IP_ADDR_STRING GatewayList;
NET_IP_ADDR_STRING DhcpServer;
BOOL HaveWins;
NET_IP_ADDR_STRING PrimaryWinsServer;
NET_IP_ADDR_STRING SecondaryWinsServer;
time_t LeaseObtained;
time_t LeaseExpires;
} NET_IP_ADAPTER_INFO, *PNET_IP_ADAPTER_INFO;
// LanMAC.RemoveAll();
HINSTANCE hLib = 0;
if (hLib = LoadLibrary(_T("iphlpapi.dll"))) //加载动态库
{
DWORD(WINAPI*pGetAdaptersInfo) (PNET_IP_ADAPTER_INFO, PULONG) =
(DWORD(WINAPI*) (PNET_IP_ADAPTER_INFO, PULONG))GetProcAddress(hLib, "GetAdaptersInfo");//获取地址
if (pGetAdaptersInfo != 0)
{
DWORD AdapterInfoSize = 0;
if (pGetAdaptersInfo(0, &AdapterInfoSize) == ERROR_BUFFER_OVERFLOW) //获取长度
{
PNET_IP_ADAPTER_INFO pAdapterInfo = (PNET_IP_ADAPTER_INFO) new BYTE[AdapterInfoSize]; //分配内存
if (pGetAdaptersInfo(pAdapterInfo, &AdapterInfoSize) == ERROR_SUCCESS) //获取信息
{
PNET_IP_ADAPTER_INFO pAdapter = pAdapterInfo;
while (pAdapter)
{
CString strMac;
strMac.Format(_T("%02X-%02X-%02X-%02X-%02X-%02X"),
pAdapter->Address[0], pAdapter->Address[1], pAdapter->Address[2],
pAdapter->Address[3], pAdapter->Address[4], pAdapter->Address[5]);
LanMAC.Format(strMac);
pAdapter = pAdapter->Next; //下一个区域
}
}
delete[] pAdapterInfo; //释放内存
}
}
FreeLibrary(hLib); //释放库
}
return true;
}
【C++】【纯代码】获取电脑的mac地址的更多相关文章
- java工具类,在Windows,Linux系统获取电脑的MAC地址、本地IP、电脑名
package com.cloudssaas.util; import java.io.BufferedReader; import java.io.IOException; import java. ...
- Unity网络通讯(一)获取计算机的MAC地址
1 string GetMac() { string mac = ""; mac = GetMacAddressBySendARP(); return mac; } [DllImp ...
- 获取客户端网卡MAC地址和IP地址实现JS代码
获取客户端网卡MAC地址和IP地址实现JS代码 作者: 字体:[增加 减小] 类型:转载 获取客户端的一些信息,如IP和MAC,以结合身份验证,相信很多人都会这样做吧,我们这里用Javascrip ...
- windows获取本机MAC地址并写入文件的bat
windows获取本机MAC地址并写入文件的bat MAC(Media Access Control)地址,或称为 MAC地址.硬件地址,用来定义网络设备的位置. bat代码例如以下: @echo o ...
- java获取本地计算机MAC地址
java获取本地计算机MAC地址代码如下: public class SocketMac { //将读取的计算机MAC地址字节转化为字符串 public static String transByte ...
- 获取设备的mac地址可靠的方法
参考自:http://www.open-open.com/lib/view/open1433406847322.html /** * 获取设备的mac地址 * * @param ac * @param ...
- PHP获取服务器的mac地址类
PHP获取服务器的mac地址类,不是客户端的. <?php class GetMacAddr{ var $return_array = array(); // 返回带有MAC地址的字串数组 va ...
- C++获取系统的Mac地址
C++获取系统的Mac地址,加上libnetapi32.a #include <windows.h> #include <stdlib.h> #include <stdi ...
- PHP获取网卡的MAC地址原码;目前支持WIN/LINUX系统 获取机器网卡的物理(MAC)地址
声明转换于其它博客当中的. <?php /** 获取网卡的MAC地址原码:目前支持WIN/LINUX系统 获取机器网卡的物理(MAC)地址 **/ class GetMacAddr{ var $ ...
- c#中如何获取本机MAC地址、IP地址、硬盘ID、CPU序列号等系统信息
我们在利用C#开发桌面程序(Winform)程序的时候,经常需要获取一些跟系统相关的信息,例如用户名.MAC地址.IP地址.硬盘ID.CPU序列号.系统名称.物理内存等. 首先需要引入命名空间: us ...
随机推荐
- Xcode找不到.h或者.m文件解决办法 .h file not found
Xcode找不到.h或者.m文件解决办法 .h file not found 开篇唠叨 小黑最经又开始干iOS接入微信SDK了,目前刚开始就遇到了困难,于是总结一下分享给大家,要是大家看完了还解决 ...
- GPS定位解决偏差
目录 GPS定位解决偏差 开篇 实践 1.解决思路以及步骤 2.实践出真理! 3.上坐标系之间的代码. 希望大家:点赞,留言,关注咯~ 唠家常 今日推荐都在文章中了 GPS定位解决偏差 开篇 大家都知 ...
- MySQL-知识点补充
1.SQL注入问题 简单实现利用数据库实现注册登录功能: import pymysql conn = pymysql.connect( host='127.0.0.1', port=3306, use ...
- Nacos配置中心 (介绍与配置)
Nacos配置中心 当微服务部署的实例越来越多,达到数十.数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错.我们需要一种统一配置管理方案,可以集中管理所有实例的配置. Nacos一方面可以将配置 ...
- Vue 3项目如何设置全局变量
- fast planner总结
一.前端 kinodynamic A*算法动力学路径搜索 1.1 路径搜索的主要函数为kinodynamicAstar类的search函数 int KinodynamicAstar::search(E ...
- STM32F0_HAL初始化系列:FLASH写入
//读 read_temp = *(__IO uint32_t*)value_address; //写 static void flash_write(uint32_t address, uint32 ...
- element表单嵌套检验+动态添加
在写表单的时候,容易碰到这种嵌套表单的数据校验,并且这种表单是动态添加的,网上大部分的做法是表单套表单,实际上只需要一个表单就可以了. 为了方便观看,这里只列举了两条数据 多级表单嵌套校验 <e ...
- swiper弹出窗口居中效果css
position: absolute; width: 800px; left: 50%; top: 50%; transform: translate(-50%, -50%);
- 2023年2月份CKA考试历程
2023年2月份CKA 考试历程 目录 2023年2月份CKA 考试历程 一.购买CKA/CKS套餐 二.CKA 考试练习 三.CKA 第一次考试 考前考中 考后 四.CKA 第二次考试 五.考试的一 ...