工控编程吧

标题: 上位机MFC 如何获得驱动器的卷标 [打印本页]

作者: qq263946146    时间: 2019-8-17 10:59
标题: 上位机MFC 如何获得驱动器的卷标

IDC_LIST为我们添加的列表控件ID,用于显示结果。


GetLogicalDrives可以获得电脑上的驱动器。
GetVolumeInformation可以获得恭外运器的相关信息。



  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.                                 CString strVolumeName = _T("");
  21.                                 GetVolumeInformation(strDiriveName, strVolumeName.GetBuffer(1024),
  22.                                         1024, NULL, NULL, NULL, NULL, 0);
  23.                                 strVolumeName.ReleaseBuffer();
  24.                                 pList->SetItemText(n, 1, strVolumeName);

  25.                                 n++;
  26.                         }

  27.                         dwBitMask /= 2;

  28.                         ch++;
  29.                 }
  30.         }
  31. }
复制代码







欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4