工控编程吧
标题:
上位机MFC如何获得驱动器的类型
[打印本页]
作者:
qq263946146
时间:
2019-8-17 10:56
标题:
上位机MFC如何获得驱动器的类型
可以参考下面代码。
IDC_LIST为自己添加的列表控件ID,用于显示结果。
函数
GetLogicalDrives可获得当前电脑上的驱动器,
GetDriveType为获得指定驱动器类型。
void CDemoDlg::OnTest()
{
CListCtrl* pList = (CListCtrl*)GetDlgItem(IDC_LIST);
pList->DeleteAllItems();
//获得驱动器位掩码
DWORD dwBitMask = ::GetLogicalDrives();
if (dwBitMask != 0)
{
int n = 0;
TCHAR ch = 'A';
while (dwBitMask > 0)
{
if (dwBitMask % 2 == 1)
{
//驱动器名
CString strDiriveName = _T("");
strDiriveName.Format(_T("%c:\"), ch);
pList->InsertItem(n, strDiriveName);
//获得驱动器类型
UINT nDriveType = GetDriveType(strDiriveName);
CString strDiriveType = _T("");
if (nDriveType == DRIVE_UNKNOWN)
{
strDiriveType = _T("未知");
}
else if (nDriveType == DRIVE_NO_ROOT_DIR)
{
strDiriveType = _T("无效路径");
}
else if (nDriveType == DRIVE_REMOVABLE)
{
strDiriveType = _T("可移动驱动器");
}
else if (nDriveType == DRIVE_FIXED)
{
strDiriveType = _T("固定驱动器");
}
else if (nDriveType == DRIVE_REMOTE)
{
strDiriveType = _T("远程(网络)驱动器");
}
else if (nDriveType == DRIVE_CDROM)
{
strDiriveType = _T("CDROM驱动器");
}
else if (nDriveType == DRIVE_RAMDISK)
{
strDiriveType = _T("RAM磁盘");
}
pList->SetItemText(n, 1, strDiriveType);
n++;
}
dwBitMask /= 2;
ch++;
}
}
}
复制代码
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4