判断当前盘符是否存在
BOOL CheckDiskExist(LPCTSTR lpDisk) { TCHAR szDrvMsg[] = "A:"; ULONG uDriveMask = _getdrives(); if(uDriveMask != 0) { while (uDriveMask) { if (uDriveMask & 1) { if (memicmp(szDrvMsg, lpDisk, 1) == 0) { return TRUE; } } ++szDrvMsg[0]; uDriveMask >>= 1; } } return FALSE; }
改进版:
BOOL CheckDiskExist(LPCTSTR lpDisk) { ULONG uDriveMask = _getdrives(); if(uDriveMask == 0) { return FALSE; } uDriveMask >>= (int)(lpDisk[0]-'A'); if(uDriveMask & 1) { return TRUE; } return FALSE; }