⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qwkdz.cpp

📁 一段根据本地机器网卡进行身份校验的源码
💻 CPP
字号:
#include "stdafx.h"
#include "Qwkdz.h"

#include "memory.h"
#include "afxconv.h"

#include <nb30.h>

#pragma comment(lib, "ws2_32.lib") 
#pragma message("Automatically linking with ws2_32.lib")

#pragma comment(lib, "netapi32.lib") 
#pragma message("Automatically linking with netapi32.lib")

//===========================================================================//
// 功能描述:将十六进制的数值转换成十六进制的字串
//
// 入参说明:
//           p_dsp : 用于存放转换后的十六进制字串,其大小必须是p_iLen的2倍
//           p_hex : 将要转换的十六进制数值
//           p_iLen: 标识p_hex的长度
//
// 例 : 
//     p_dsp = 010203040A0B0C0D
//     p_hex = 0x01 0x02 0x03 0x04 0x0A 0x0B 0x0C 0x0D
//     p_iLen= 8

LPCSTR GetHostIPXSPXAddr(void)
{
  static char szAddress[13];
  typedef struct _ASTAT_
  {
    ADAPTER_STATUS adapt;
    NAME_BUFFER NameBuff[30];
  }ASTAT;
  ASTAT adapter;

  NCB ncb;
  UCHAR uRetCode;
  LANA_ENUM lEnum;

  memset( &ncb, 0, sizeof(ncb) );
  ncb.ncb_command = NCBENUM;
  ncb.ncb_buffer = (UCHAR *)&lEnum;
  ncb.ncb_length = sizeof(lEnum);
  uRetCode = Netbios( &ncb );
  for (int index = 0; index < lEnum.length; index++)
  {
    memset(&ncb, 0, sizeof(ncb));
    ncb.ncb_command = NCBRESET;
    ncb.ncb_lana_num = lEnum.lana[index];
    uRetCode = Netbios(&ncb);

    memset(&ncb, 0, sizeof(ncb));
    ncb.ncb_command = NCBASTAT;
    ncb.ncb_lana_num = lEnum.lana[index];

    strcpy( (char*)(ncb.ncb_callname),  "*               " );
    ncb.ncb_buffer = (unsigned char *) &adapter;
    ncb.ncb_length = sizeof(adapter);

    uRetCode = Netbios(&ncb);
    if (uRetCode == 0)
    {
      sprintf(szAddress,"%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]);
    }
  }
  return szAddress;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -