获取磁盘信息

#include<Windows.h>

//获取指定文件夹的磁盘容量

QString dir="C:/gscc" ;

    LPCWSTR strDriver=(LPCWSTR)dir.utf16();

ULARGE_INTEGER  freeDiskSpaceAvailable,

totalDiskSpace,

totalFreeDiskSpace;

    GetDiskFreeSpaceEx(strDriver,&freeDiskSpaceAvailable,&totalDiskSpace,&totalFreeDiskSpace);

    quint64 size=totalDiskSpace.QuadPart/(1024*1024);//磁盘总容量

    qDebug()<<size;

    size=totalFreeDiskSpace.QuadPart/(1024*1024);//磁盘剩余容量

    qDebug()<<size;

 

//获取本机所有磁盘的容量

QFileInfoList list=QDir::drives();

    QStringList diskNaameList(NULL);

    for(int i=0;i<list.count();i++)

    {

        QString str=list.at(i).absoluteDir().absolutePath();

        diskNaameList.append(str);

    }

    foreach (QString str, diskNaameList) {

        if(str.isEmpty()){

            continue;

        }

        LPCWSTR strDriver=(LPCWSTR)str.utf16();

        ULARGE_INTEGER freeDiskSpaceAvailable,totalDiskSpace,totalFreeDiskSpace;

        GetDiskFreeSpaceEx(strDriver,&freeDiskSpaceAvailable,&totalDiskSpace,&totalFreeDiskSpace);

quint64 size1=totalDiskSpace.QuadPart/(1024*1024*1024);//磁盘总容量 

quint64 size2=totalFreeDiskSpace.QuadPart/(1024*1024*1024);//磁盘剩余容量 

        qDebug()<<str+QString::fromLocal8Bit("总容量:")<<size1

               <<size2<<QString::fromLocal8Bit("");

    }

发布了104 篇原创文章 · 获赞 22 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_41672557/article/details/103450102
今日推荐