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;
}
}
}
{
//
// 콤보 박스를 초기화 시켜주고
//
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;
}
}
}