jueves, 24 de mayo de 2012

Detección de unidades usb conectadas con C#

En esta entrada les voy a enseñar como poder desde nuestro programa en C# detectar si hay memorias usb conectadas a nuestra computadora y que letra tiene asignada.

Cabe destacar que el programa solo muestra una lista de usb conectados, pero la aplicación que le queramos dar dentro de nuestros programa puede ser muy variada como mostrar su contenido con un openfiledialog o detectar cuando una unidad de conecte (para esto se recomienda el uso de hilos)

Sin más por el momento les dejo el código:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO; //necesario para trabajar con los usb
//este programa va a mostrar las letras que están en uso por un usb conectado a la pc
namespace detectausb
{
class Program
{
static void Main(string[] args)
{
string[] letras = new string[] { "A:\\", "B:\\", "C:\\", "D:\\", "E:\\", "F:\\", "G:\\" };
//debes llegarlo hasta la z para mayor exactitud ya que solo va a checar las
//letras que estén en el arreglo
for (int i = 0; i < letras.Length; i++) //recorre todo el arreglo pudo ser sustituido por un foreach
{
if (Directory.Exists(letras[i]) && File.GetAttributes(letras[i]).ToString() == "Directory")
//pregunta si el directorio de la letra existe y lo más importante
//si su atributo es de directorio asi está el atributo de los USB
//es decir con eso lo diferenciamos de un disco duro o un dvd
{
Console.WriteLine("\n" + letras[i]);
//imprimimos la tra que SI está siendo utilizada por un USB
//la n con la diagonal invertida es para salto de linea
}
}
Console.ReadKey(); //para poder ver el resultado
}
}
}

Esto es todo por esta entrada cualquier cosa no dudes en comentar y en recomendar este foro si te fue de ayuda.

Nos leemos luego!!!

No hay comentarios:

Publicar un comentario