Get disk information

#include<Windows.h>

// Get the disk capacity specified folder

QString dir="C:/gscc" ;

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

ULARGE_INTEGER  freeDiskSpaceAvailable,

totalDiskSpace,

total free disk space;

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

    quint64  . size = totalDiskSpace QuadPart / ( 1024 * 1024 ); // total disk capacity

    qDebug()<<size;

    . size = totalFreeDiskSpace QuadPart / ( 1024 * 1024 ); // disk remaining capacity

    qDebug()<<size;

 

// Get all the capacity of the unit disks

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 ); // total disk capacity 

quint64  . totalFreeDiskSpace of size2 = QuadPart / ( 1024 * 1024 * 1024 ); // disk remaining capacity 

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

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

    }

Published 104 original articles · won praise 22 · views 40000 +

Guess you like

Origin blog.csdn.net/qq_41672557/article/details/103450102