C++获取网卡ID用哪个函数?谢谢。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++获取网卡ID用哪个函数?谢谢。相关的知识,希望对你有一定的参考价值。

参考技术A 如果是windows sdk,iphlpapi.lib库中是用IP_ADAPTER_INFO结构体存储网卡信息的
// 头文件包含
#include "stdafx.h"
#include <WinSock2.h>
#include <Iphlpapi.h>
#include <iostream>
using namespace std;
// 函数声明
void output(PIP_ADAPTER_INFO pIpAdapterInfo);
// 程序入口
int _tmain(int argc, _TCHAR* argv[])

//PIP_ADAPTER_INFO结构体指针存储本机网卡信息
PIP_ADAPTER_INFO pIpAdapterInfo = new IP_ADAPTER_INFO();
//得到结构体大小,用于GetAdaptersInfo参数
unsigned long stSize = sizeof(IP_ADAPTER_INFO);
//调用GetAdaptersInfo函数,填充pIpAdapterInfo指针变量;其中stSize参数既是一个输入量也是一个输出量
int nRel = GetAdaptersInfo(pIpAdapterInfo,&stSize);
if (ERROR_BUFFER_OVERFLOW==nRel)

//如果函数返回的是ERROR_BUFFER_OVERFLOW
   //则说明GetAdaptersInfo参数传递的内存空间不够,同时其传出stSize,表示需要的空间大小
//这也是说明为什么stSize既是一个输入量也是一个输出量
//释放原来的内存空间
delete pIpAdapterInfo;
//重新申请内存空间用来存储所有网卡信息
pIpAdapterInfo = (PIP_ADAPTER_INFO)new BYTE[stSize];
//再次调用GetAdaptersInfo函数,填充pIpAdapterInfo指针变量
nRel=GetAdaptersInfo(pIpAdapterInfo,&stSize);

if (ERROR_SUCCESS==nRel)

//输出网卡信息
output(pIpAdapterInfo);

//释放内存空间
if (pIpAdapterInfo)

delete pIpAdapterInfo;

getchar();
return 0;

///函数作用,输出网卡信息
void output(PIP_ADAPTER_INFO pIpAdapterInfo)

//可能有多网卡,因此通过循环去判断
while (pIpAdapterInfo)

cout<<"网卡名称:"<<pIpAdapterInfo->AdapterName<<endl;
cout<<"网卡描述:"<<pIpAdapterInfo->Description<<endl;
cout<<"网卡MAC地址:"<<pIpAdapterInfo->Address;
for (UINT i = 0; i < pIpAdapterInfo->AddressLength; i++)
if (i==pIpAdapterInfo->AddressLength-1)

printf("%02x\n", pIpAdapterInfo->Address[i]);

else

printf("%02x-", pIpAdapterInfo->Address[i]);

cout<<"网卡IP地址如下:"<<endl;
//可能网卡有多IP,因此通过循环去判断
IP_ADDR_STRING *pIpAddrString =&(pIpAdapterInfo->IpAddressList);
do

cout<<pIpAddrString->IpAddress.String<<endl;
pIpAddrString=pIpAddrString->Next;
while (pIpAddrString);
pIpAdapterInfo = pIpAdapterInfo->Next;
cout<<"*****************************************************"<<endl;

return;
参考技术B 没有函数,用WMI来查询。 参考技术C IP_ADAPTER_INFO *info_top;
GetAdaptersInfo(info_top, &info_size);
info_top->index
info_top->AdapterName

mySQL数据库中ID如何自动编号?如图所示 选哪个设置?新手求带,谢谢!

如果有phpmyadmin的话,可以直接在建表的时候,有个“额外”这个选项,点击进入,选中AUTO_INCREMENT
如果不能的话,则用php页面创建表的时候,在sql语句插入$sql="create table $table_name(id varchar(4) not null primary key auto_increment";再执行就可以了

需要说明的是,这个字段不是必须填入的~追问

非常感谢!

追答

望采纳

参考技术A 你的Mysql客户端叫什么追问

没有吧?我是下载的lamp 我具体也不清楚 刚开始接触!

追答

有个好用,我们上班用的

追问

什么??

追答

navicat

里面可以设置主键,主键从几开始

追问

好的 谢谢 我试试

追答

试过了吗

你看,自动递增,就是自己加

参考技术B 在默认里面追问

应该怎么选?我什么都不懂 谢谢指教!谢谢

追答

说错了,应该是在属性,你打开下拉按钮,就有了。

追问

好的 谢谢

我试试

追答

sorry,是AI那一项

以上是关于C++获取网卡ID用哪个函数?谢谢。的主要内容,如果未能解决你的问题,请参考以下文章

MFC如何知道光标在那个控件上 用哪个函数?谢谢

labview 怎么获取 计算机ID

java获取CPU与硬盘的ID号?或调用JNI获取,急用!!!!

Linux下利用ioctl函数获取网卡信息

VC 电脑的有线网卡与无线网卡的IP区别

c++c++中怎样获取当前小时分钟