QQ登录

只需一步,快速开始

上位机MFC如何获得驱动器的空间信息

[ 复制链接 ]

同样也可以通过按钮控件调用下面的代码。
IDC_LIST为自己添加的列表控件ID.
运行后会将结果显示在列表上

上位机MFC如何获得驱动器的空间信息

上位机MFC如何获得驱动器的空间信息




  1. void CDemoDlg::OnTest()
  2. {
  3.         CListCtrl* pList = (CListCtrl*)GetDlgItem(IDC_LIST);
  4.         pList->DeleteAllItems();

  5.         //获得驱动器位掩码
  6.         DWORD dwBitMask = ::GetLogicalDrives();
  7.         if (dwBitMask != 0)
  8.         {
  9.                 int n = 0;

  10.                 TCHAR ch = 'A';

  11.                 while (dwBitMask > 0)
  12.                 {
  13.                         if (dwBitMask % 2 == 1)
  14.                         {
  15.                                 //驱动器名
  16.                                 CString strDiriveName = _T("");
  17.                                 strDiriveName.Format(_T("%c:\"), ch);
  18.                                 pList->InsertItem(n, strDiriveName);

  19.                                 //获得磁盘空间信息
  20.                                 ULARGE_INTEGER FreeBytes;
  21.                                 ULARGE_INTEGER TotalBytes;
  22.                                 if (!GetDiskFreeSpaceEx(strDiriveName, &FreeBytes,
  23.                                         &TotalBytes, NULL))
  24.                                 {
  25.                                         return;
  26.                                 }

  27.                                 UINT nFreeSize = (UINT)(FreeBytes.QuadPart / 1024 / 1024);
  28.                                 UINT nTotalSize = (UINT)(TotalBytes.QuadPart / 1024 / 1024);

  29.                                 CString strText = _T("");
  30.                                 strText.Format(_T("%d MB"), nFreeSize);
  31.                                 pList->SetItemText(n, 1, strText);
  32.                                 strText.Format(_T("%d MB"),nTotalSize);
  33.                                 pList->SetItemText(n, 2, strText);

  34.                                 n++;
  35.                         }

  36.                         dwBitMask /= 2;

  37.                         ch++;
  38.                 }
  39.         }
  40. }

复制代码


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索