Underc0de

Programación General => C / C++ => Códigos Fuentes => Mensaje iniciado por: Expermicid en Enero 17, 2013, 02:05:26 PM

Título: Tipos de Unidades de almacenamiento [C/C++]
Publicado por: Expermicid en Enero 17, 2013, 02:05:26 PM
Hola a todos!!!

Este code tiene 2 objetivos. Primero listar las unidades de almacenamiento de una computadora. Y segundo detalla de que tipo es.
La primera parte lo conseguimos con _getdrives y la segunda con GetDriveType.

#include <windows.h>
#include <direct.h>
#include <tchar.h>
#include <iostream>

using namespace std;

TCHAR DrvMsg[] = _T("A:");

void main() {
   ULONG DriveMask = _getdrives();
   if (DriveMask == 0)
      cout << "Error al listar" << endl;
   else {
      while (DriveMask) {
         if (DriveMask & 1) {
            cout << "(" << DrvMsg << ") -->  ";
switch (GetDriveType(DrvMsg)) {
case DRIVE_UNKNOWN:
cout << "El tipo de unidad no se puede determinar." << endl;
break;
case DRIVE_NO_ROOT_DIR:
cout << "No hay volumen montado en la ruta especificada." << endl;
break;
case DRIVE_REMOVABLE:
cout << "Unidad de disquete, memoria USB o lector de tarjetas flash." << endl;
break;
case DRIVE_FIXED:
cout << "Unidad de disco duro o unidad flash." << endl;
break;
case DRIVE_REMOTE:
cout << "Unidad de control remoto (red)." << endl;
break;
case DRIVE_CDROM:
cout << "Unidad de CD-ROM." << endl;
break;
case DRIVE_RAMDISK:
cout << "Unidad de disco RAM." << endl;
break;
}
}
         ++DrvMsg[0];
         DriveMask >>= 1;
      }
   }
   getchar();
}


En funcionamiento:

(http://i.imgur.com/zJcKn.png)

Saludos