QQ登录

只需一步,快速开始

上位机MFC如何获得驱动器的名称

[ 复制链接 ]
可以参考下面的代码,IDC_LIST为自己添加的列表控件ID.GetLogicalDrives判断系统中存在哪些逻辑驱动器字母.
GetLogicalDrives函数返回一个DWORD类型的值,第一位表示所对应的驱动器是否存在。
一般情况下DWORD的数据长度是32位,在这个DWORD中,每一位对应了一个逻辑驱动器是否存在
。第二位如果是“1”则表示驱动器“B:”存在,第四位如果是“1”则表示驱动器“D:”存在,以此类推。


  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.                                 n++;
  20.                         }

  21.                         dwBitMask /= 2;

  22.                         ch++;
  23.                 }
  24.         }
  25. }
复制代码


回复

使用道具 举报

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