C# 获取可移动设备盘符

2011-03-16 10:10

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using JaveSystem;
using System.Management;
using System.IO;
using Microsoft.Win32;

namespace AnimationWorldUpdate
{
    public partial class Form_GetRemovableDeviceID: Form
    {

        public List<string> GetRemovableDeviceID()
        {
            List<string> deviceIDs = new List<string>();
            ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT   *   From   Win32_LogicalDisk   ");
            ManagementObjectCollection queryCollection = query.Get();
            foreach (ManagementObject mo in queryCollection)
            {
                switch (int.Parse(mo["DriveType"].ToString()))
                {
                    case (int)DriveType.Removable:   //可以移动磁盘    
                        {
                            //MessageBox.Show("可以移动磁盘");
                            deviceIDs.Add(mo["DeviceID"].ToString());
                            break;
                        }
                    //case (int)DriveType.Fixed:   //本地磁盘    
                    //    {
                    //        //MessageBox.Show("本地磁盘");
                    //        break;
                    //    }
                    //case (int)DriveType.CDRom:   //CD   rom   drives    
                    //    {
                    //        MessageBox.Show("CD   rom   drives ");
                    //        break;
                    //    }
                    //case (int)DriveType.Network:   //网络驱动  
                    //    {
                    //        MessageBox.Show("网络驱动器 ");
                    //        break;
                    //    }
                    //case (int)DriveType.Ram:
                    //    {
                    //        MessageBox.Show("驱动器是一个 RAM 磁盘 ");
                    //        break;
                    //    }
                    //case (int)DriveType.NoRootDirectory:
                    //    {
                    //        MessageBox.Show("驱动器没有根目录 ");
                    //        break;
                    //    }
                    default:   //defalut   to   folder    
                        {
                            //MessageBox.Show("驱动器类型未知 ");
                            break;
                        }
                }

            }
            return deviceIDs;
        }
    }