Windows/MFC

유효한 드라이브 찾기 GetDriveType

aucd29 2013. 10. 2. 18:15
void CSystemInfo::SetValidityDrive(CComboBox* pCbo)
{
    //
    // 콤보 박스를 초기화 시켜주고
    //
    int nLength = pCbo->GetCount();
    int i;
    for (i=0; i<nLength; ++i)
    {
        pCbo->DeleteString(0);
    }    

    CString szDrive;
    for(TCHAR cLetter = _T('D'); cLetter <= _T('Z'); cLetter++)
    {
        szDrive.Format(L"%c:\\", cLetter);
        switch(GetDriveType(szDrive))
        {
        case DRIVE_FIXED:
        case DRIVE_REMOVABLE:
        case DRIVE_CDROM:
        case DRIVE_RAMDISK:
        case DRIVE_REMOTE:
            //
            // 여긴 이미 잡혀 있는 드라이드 공간이고
            //
            break;
        default:
            //
            // 여긴 아직 안잡혀 있는 드라이브 공간이다.
            //
            pCbo->AddString(szDrive);

            break;
        }
    }
}