这个硬件信息的获取需要使用到 network 模块
# 1. 在pro文件中添加 QT += network
# 需要用到的头文件
#include
// 计算机名 #include
// 用户名(获取家目录,删除其它字段只保留用户名) #include
// 网卡信息
cout << "当前计算机名:" << QHostInfo::localHostName();
cout << "当前登陆用户:" << QStandardPaths::writableLocation(QStandardPaths::HomeLocation).section("/", -1, -1);
QList
AddressList = QNetworkInterface::allAddresses(); foreach(QHostAddress address, AddressList){
if(address.protocol() == QAbstractSocket::IPv4Protocol &&
address != QHostAddress::Null &&
address != QHostAddress::LocalHost){
if (address.toString().contains("127.0.")){
continue;
}
cout << "当前IP地址:" << address.toString();
break;
}
}
// ---> 依次输出系统中每张网卡的详细信息
QString detail="";
QList
list=QNetworkInterface::allInterfaces(); for(int i=0;i<list.count();i++)< span=""></list.count();i++)<>
{
QNetworkInterface interface=list.at(i);
detail=detail+tr("设备:")+interface.name()+"n";
detail=detail+tr("硬件地址:")+interface.hardwareAddress()+"n";
QList
entryList=interface.addressEntries(); for(int j=0;j<entrylist.count();j++)< span=""></entrylist.count();j++)<>
{
QNetworkAddressEntry entry=entryList.at(j);
detail=detail+"t"+tr("IP 地址:")+entry.ip().toString()+"n";
detail=detail+"t"+tr("子网掩码:")+entry.netmask().toString()+"n";
detail=detail+"t"+tr("广播地址:")+entry.broadcast().toString()+"n";
}
}
QMessageBox::information(this,tr("Detail"),detail);
原文始发于微信公众号(汇编语言):这个硬件信息的获取需要使用到 network 模块
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论