我的主页

快递查询 :http://m.kuaidi100.com     爱快递查询 :http://www.aikuaidi.cn/              

http://www.qtcn.org/bbs/u/168050  [收藏] [复制]

w642833823

  • 10

    关注

  • 68

    粉丝

  • 42

    访客

  • 等级:新手上路
  • 总积分:43
  • 保密,2011-12-07

最后登录:2024-05-01

更多资料

日志

收藏记录_QT获取设备信息Mac,Ip

2022-01-21 19:14
.h
  1. 第一种获取方法:原作者[url=https://www.fearlazy.com/category-2.html,1]文章出处[/url]


    Mac_label = new QLabel;
        Mac_label->setFixedSize(1000,80);
          QList <QNetworkInterface> interfaces =QNetworkInterface::allInterfaces();
        for (auto inter : interfaces)
        {    
      
        QString Mac=tr("%1").arg(inter.hardwareAddress());
        Mac_label->setText("Mac地址:"+Mac);
        
        }


#pragma once#include <QString>class GlobalApiClass{private:    GlobalApiClass();    ~GlobalApiClass();public:    static GlobalApiClass &GetInstance()    {        static GlobalApiClass instance;        return instance;    };    /*    *  @brief:获取主机名称    */    QString getUserName();    /*    *  @brief:获取本机IP    */    QString getAddIP();    /*    *  @brief:获取本机MAC地址    */    QString getHostMacAddress();    /*    *  @brief:获取硬盘    */    QString getDiskdrive();    /*    *  @brief:获取本机IP地址    */    QString getCpuID();};————————————————版权声明:本文为CSDN博主「Qt幻想家」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/weixin_43519792/article/details/113588737.cpp
  1. #include "GlobalApiClass.h"
    #include <QProcess>
    #include <QtNetWork/QHostInfo>
    #include <QtNetWork/QHostAddress>
    #include <QtNetWork/QNetworkInterface>
    GlobalApiClass::GlobalApiClass()
    {
    }
    GlobalApiClass::~GlobalApiClass()
    {
        
    }
    QString GlobalApiClass::getUserName()
    {
        return QHostInfo::localHostName();
    }
    QString GlobalApiClass::getAddIP()
    {
        QList<QHostAddress> list = QNetworkInterface::allAddresses();
        foreach(QHostAddress address, list)
        {
            if (address.protocol() == QAbstractSocket::IPv4Protocol)
                //我们使用IPv4地址
                return address.toString();
        }
        return 0;
    }
    QString GlobalApiClass::getHostMacAddress()
    {
        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;
            }
        }
        return strMacAddr;
    }
    QString GlobalApiClass::getDiskdrive()
    {
        QProcess p(0);
        p.start("wmic diskdrive get serialnumber");
        p.waitForStarted();
        p.waitForFinished();
        QString result = QString::fromLocal8Bit(p.readAllStandardOutput());
        QStringList list = result.split("\r\n");
        if (list.size() < 1)
            return "error";
        return list.at(1).trimmed();
    }
    QString GlobalApiClass::getCpuID()
    {
        QString cpu_id = "";
        QProcess p(0);
        p.start("wmic CPU get ProcessorID");    
        p.waitForStarted();
        p.waitForFinished();
        cpu_id = QString::fromLocal8Bit(p.readAllStandardOutput());
        cpu_id = cpu_id.remove("ProcessorId").trimmed();
        return cpu_id;
    }


打印输出:
  1. qDebug() <<QString::fromLocal8Bit("主机名:") << GlobalApiClass::GetInstance().getUserName();
        qDebug() << QString::fromLocal8Bit("IP:")<< GlobalApiClass::GetInstance().getAddIP();
        qDebug() << QString::fromLocal8Bit("硬盘ID:")<< GlobalApiClass::GetInstance().getDiskdrive();
        qDebug() << QString::fromLocal8Bit("Mac地址:")<< GlobalApiClass::GetInstance().getHostMacAddress();
        qDebug() << QString::fromLocal8Bit("cpu ID:")<< GlobalApiClass::GetInstance().getCpuID();
    "主机名:" "RD-04"
    "IP:" "192.168.1.1"
    "硬盘ID:" "ZN18JXN8"
    "Mac地址:" "C4:66:16:3A:09:56"
    "cpu ID:" "BFEBFBFF000908ED"



分类:QT|回复:0|浏览:565|全站可见|转载
 

Powered by phpwind v8.7 Certificate Copyright Time now is:05-01 19:06
©2005-2016 QTCN开发网 版权所有 Gzip disabled