QT获取本机IP和Mac地址

#include <QNetworkInterface>
#include <QList> void MainWindow::getIPPath()
{ QString strIpAddress; QList<QHostAddress> ipAddressesList = QNetworkInterface::allAddresses(); // 获取第一个本主机的IPv4地址 int nListSize = ipAddressesList.size(); for (int i = 0; i < nListSize; ++i) { if (ipAddressesList.at(i) != QHostAddress::LocalHost && ipAddressesList.at(i).toIPv4Address())
{ strIpAddress = ipAddressesList.at(i).toString(); break; } } // 如果没有找到,则以本地IP地址为IP if (strIpAddress.isEmpty())
{
qDebug() << strIpAddress;
strIpAddress = QHostAddress(QHostAddress::LocalHost).toString();
}
qDebug() << "IP:" << strIpAddress;
} void MainWindow::getMacPath()
{
QList<QNetworkInterface> nets = QNetworkInterface::allInterfaces();// 获取所有网络接口列表 int nCnt = nets.count(); QString strMacAddr = ""; for(int i = 0; i < nCnt; i ++) { // 如果此网络接口被激活并且正在运行并且不是回环地址,则就是我们需要找的Mac地址 if(nets[i].flags().testFlag(QNetworkInterface::IsUp) && nets[i].flags().testFlag(QNetworkInterface::IsRunning) && !nets[i].flags().testFlag(QNetworkInterface::IsLoopBack)) { strMacAddr = nets[i].hardwareAddress(); break; } }
qDebug() << "Mac:" << strMacAddr;
}

  

上一篇:[数据库]SQL Server 用户NT AUTHORITY\IUSR 登录失败


下一篇:JAVA获取本机IP和Mac地址