如何获取硬盘分区信息QT

时间:2012-09-18 13:27:42

标签: winapi qt4 device disk-partitioning

我正在尝试在QT项目中获取系统信息,我想知道Windows中的硬盘分区以及每个分区的不同属性。

这是我的代码:

QString drivename=QString(FileInfo.absolutePath().at(0))+":\\\\";
    ULARGE_INTEGER freeBytesToCaller;
    ULARGE_INTEGER TotalBytes;
    ULARGE_INTEGER FreeBytes;
    freeBytesToCaller.QuadPart = 0L;
    TotalBytes.QuadPart = 0L;
    FreeBytes.QuadPart = 0L;

    if( !GetDiskFreeSpaceEx( drivename.toStdWString().c_str(), &freeBytesToCaller,&TotalBytes,&FreeBytes ) )
    {
        qDebug() <<drivename<< "ERROR: Call to GetDiskFreeSpaceEx() failed.";

    }
   // qDebug()<<"drive type of "<<drivename<<"  "<<GetDriveTypeW(drivename.toStdWString().c_str());
     int TotalBytes_gb = TotalBytes.QuadPart/(1024*1024*1024) ;

它让我知道分区名称(例如C:\)的大小和类型,但我想要的是获取有关分区的信息(\ Device \ Harddisk0 \ Partition1 C:\ 232GB)

如何获取有关分区的信息?

1 个答案:

答案 0 :(得分:0)

我找到了一个我认为更有帮助的解决方案Displaying Volume Paths

谢谢大家。