zoukankan      html  css  js  c++  java
  • 获取Mac地址

     netapi32.lib
    #include <NB30.h>; typedef struct _ASTAT_ { ADAPTER_STATUS adapt; NAME_BUFFER NameBuff[30]; }ASTAT, *PASTAT; void GetNetCardMac(int lana_num, char *pszOut) { NCB ncb; UCHAR uRetCode; ASTAT Adapter; memset(&ncb, 0, sizeof(ncb)); ncb.ncb_command = NCBRESET; ncb.ncb_lana_num = lana_num; uRetCode = Netbios(&ncb); memset(&ncb, 0, sizeof(ncb)); ncb.ncb_command = NCBASTAT; ncb.ncb_lana_num = lana_num; //Ö¸¶¨Íø¿¨ºÅ strcpy((char *)ncb.ncb_callname, "* "); ncb.ncb_buffer = (unsigned char *)&Adapter; ncb.ncb_length = sizeof(Adapter); uRetCode = Netbios(&ncb); if (uRetCode == 0) { sprintf(pszOut, "%02X%02X%02X%02X%02X%02X", Adapter.adapt.adapter_address[0], Adapter.adapt.adapter_address[1], Adapter.adapt.adapter_address[2], Adapter.adapt.adapter_address[3], Adapter.adapt.adapter_address[4], Adapter.adapt.adapter_address[5] ); //strcpy(pszOut, "00E04C0F7847"); //strcpy(pszOut, "00E04C0F783C"); } } void GetCardInfo(int iIdx, char *pszMac) { NCB ncb; UCHAR uRetCode; LANA_ENUM lana_enum; memset(&ncb, 0, sizeof(ncb)); ncb.ncb_command = NCBENUM; ncb.ncb_buffer = (unsigned char *)&lana_enum; ncb.ncb_length = sizeof(lana_enum); uRetCode = Netbios(&ncb); for (int i = 0; i < lana_enum.length; ++i) { if (i == iIdx) { GetNetCardMac(lana_enum.lana[i], pszMac); } } }
  • 相关阅读:
    51NOD 1069 Nim游戏
    51NOD 1066 Bash游戏
    51NOD 1058 N的阶乘的长度
    51NOD 1057 N的阶乘
    51NOD 1027 大数乘法
    RMQ 区间最大值 最小值查询
    Codeforces Round #426 (Div. 2) C. The Meaningless Game
    51NOD 1046 A^B Mod C
    OJ上 编译器 G++和C++的区别
    二分暑假专题 训练记录 2017-7-29
  • 原文地址:https://www.cnblogs.com/klxll/p/3240402.html
Copyright © 2011-2022 走看看