Obteniendo información de las unidades

Published 23 July 07 09:00 PM | csharp 

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.

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 bastante sencillito otro día maaaaassssssss :D

Saludetes  Cool

 

Crossposting from LaBloguera.net
Filed under: , ,

Comments

No Comments
Anonymous comments are disabled