Obteniendo información de las unidades

En
algunas ocasiones se hace necesario obtener información de la unidad o unidades
de nuestro PC.

Con
la versión 2.0 del framework es de lo más sencillo, lo que hay que hacer es lo
siguiente, añadir el espacio de nombres System.IO y crearnos un objeto de tipo
DriveInfo.

Este
objeto lo que hace es darnos información sobre una unidad determinada. Para
ello hay que indicarle a este objeto DriveInfo la letra de la unidad de la que
necesitamos consultar la información, en mi caso como quiero obtener
información sobre todas las unidades lo que hago es utilizar el método
GetDrives() que me devuelve un array con todos los nombres de las unidades del
equipo.

Iría
quedando de la siguiente manera:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace Visor_de_unidades
{

          
public partial class Form1 : Form
           {
                  
DriveInfo[] info;

                   public Form1()
                  {
                        
InitializeComponent();
                  }

                  private
void Form1_Load(object sender, EventArgs e)
                 {

                         
info = System.IO.DriveInfo.GetDrives();
                         
comboBox1.Items.AddRange(info);
                 }

 

Declaro
un array de objetos DriveInfo para obtener la lista de las unidades del equipo
y en el evento Load del formulario pido la lista y la añado a un combobox.

También
se puede obtener el listado de unidades del PC mediante la clase Environment
cuyo método GetLogicalDrives() nos permite conocer también las unidades que hay
en la máquina, aunque esta clase no es de System.IO.

Luego
simplemente en el evento click del combobox pido la información de la siguiente
forma:
 

private void comboBox1_SelectedIndexChanged(object
sender, EventArgs e)
{
            if
(info[comboBox1.SelectedIndex].IsReady)
           {
                
label1.Text = info comboBox1.SelectedIndex].AvailableFreeSpace.ToString();
                
label2.Text = info[comboBox1.SelectedIndex].DriveFormat.ToString();
                
label3.Text = info[comboBox1.SelectedIndex].DriveType.ToString();
                 label5.Text
= info[comboBox1.SelectedIndex].Name.ToString();
                
label6.Text = info[comboBox1.SelectedIndex].RootDirectory.ToString();
                
label7.Text = info[comboBox1.SelectedIndex].TotalFreeSpace.ToString();
                
label8.Text = info[comboBox1.SelectedIndex].TotalSize.ToString();
                 label9.Text
= info[comboBox1.SelectedIndex].VolumeLabel.ToString();
           }
}

 

Pues nada creo que bastante
sencillito otro día maaaaassssssss 😀

Saludetes  [H]