2012-09-18 41 views
0

我想在QT項目中獲取系統信息,我想知道Windows中的硬盤分區和每個分區的不同屬性。如何獲取硬盤分區信息QT

這裏是我的代碼:

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:\)的大小和類型,但我想還是要獲取有關分區的信息(\設備\ Harddisk0 \ Partition1 C:\ 232GB)

如何獲取有關分區的信息?

+1

如果你正在使用GetDiskFreeSpace()這不是一個真正的Qt的問題 - 這是一個窗口一個 –

+0

謝謝你,但我還是想要的東西給我的分區信息,任何幫助,請 – Oumaya

+0

研究必要的Windows API調用:HTTP:// MSDN .microsoft.com/EN-US /庫/窗/桌面/ aa390423(v = vs.85)的.aspx –

回答