获取硬盘的大小

来源:互联网 发布:凯迪网络之猫眼看人 编辑:程序博客网 时间:2024/06/10 07:13

////////////////////////////////////////////////////////////////////////////
//
// 获取硬盘的大小, 已使用等信息
void CGetHarkdiskSizeDlg::OnGetHarddiskSize()
{
    // TODO: Add your control notification handler code here
    //获取C:盘容量信息
    m_strListBox.AddString("C盘容量信息如下:");
    GetHarddiskInfo("C:");

    //获取D:盘容量信息
    m_strListBox.AddString("D盘容量信息如下:");
    GetHarddiskInfo("D:");

    //获取E:盘容量信息
    m_strListBox.AddString("E盘容量信息如下:");
    GetHarddiskInfo("E:");

    //获取F:盘容量信息
    m_strListBox.AddString("F盘容量信息如下:");
    GetHarddiskInfo("F:");

    //获取G:盘容量信息
    m_strListBox.AddString("G盘容量信息如下:");
    GetHarddiskInfo("G:");

}
void CGetHarkdiskSizeDlg::GetHarddiskInfo(CString str)
{
    CString StrTotalSize,StrFreeSize,StrUsedSize;
    ULARGE_INTEGER nTotalBytes,nTotalFreeBytes,nTotalAvailableBytes;
   
    GetDiskFreeSpaceEx(str,&nTotalAvailableBytes,&nTotalBytes,&nTotalFreeBytes);
    //获取总空间大小
    StrTotalSize.Format("           空间总大小为:%ld MB/n",nTotalBytes.QuadPart/1024/1024);
    //获取自由空间大小
    StrFreeSize.Format("           自由空间大小为:%ld MB/n",nTotalFreeBytes.QuadPart/1024/1024);
    //获取已用空间大小
    StrUsedSize.Format("           已用空间大小为:%ld MB/n",nTotalBytes.QuadPart/1024/1024-nTotalFreeBytes.QuadPart/1024/1024);
   
    m_strListBox.AddString(StrTotalSize);
    m_strListBox.AddString(StrFreeSize);
    m_strListBox.AddString(StrUsedSize);
}

原创粉丝点击