如何知道磁盘信息

 

 private void FindUsb()
       {
           //string []Logicdriver  = Environment.GetLogicalDrives();
           DriveInfo[] driveinfo = DriveInfo.GetDrives();
           for (int i = 0; i < driveinfo.Length; i ++ )
           {
               switch (driveinfo[i].DriveType.ToString())
               {
                   case "Fixed"://固定磁盘
                       break;
                   case "Removable"://移动硬盘
                       break;
                   case "NetWork": //网络磁盘
                       break;
                   case "CDRom"://光盘设备
                       break;
                   case "Unknown"://未知设备
                       break;
                   default:
                       break;

               }
           }

       }

另外还可以重载winProc()来获得有磁盘插入。

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   USBDeviceSet
{
        public   partial   class   Form1   :   Form
        {
                public   const   int   WM_DEVICECHANGE   =   0x219;
                public   const   int   DBT_DEVICEARRIVAL   =   0x8000;
                public   const   int   DBT_CONFIGCHANGECANCELED   =   0x0019;
                public   const   int   DBT_CONFIGCHANGED   =   0x0018;
                public   const   int   DBT_CUSTOMEVENT   =   0x8006;
                public   const   int   DBT_DEVICEQUERYREMOVE   =   0x8001;
                public   const   int   DBT_DEVICEQUERYREMOVEFAILED   =   0x8002;
                public   const   int   DBT_DEVICEREMOVECOMPLETE   =   0x8004;
                public   const   int   DBT_DEVICEREMOVEPENDING   =   0x8003;
                public   const   int   DBT_DEVICETYPESPECIFIC   =   0x8005;
                public   const   int   DBT_DEVNODES_CHANGED   =   0x0007;
                public   const   int   DBT_QUERYCHANGECONFIG   =   0x0017;
                public   const   int   DBT_USERDEFINED   =   0xFFFF;
                public   Form1()
                {
                        InitializeComponent();
                }
                protected   override   void   WndProc(ref   Message   m)
                {
                        try
                        {
                                if   (m.Msg   ==   WM_DEVICECHANGE)
                                {
                                        switch   (m.WParam.ToInt32())
                                        {
                                                case   WM_DEVICECHANGE:
                                                        break;
                                                case   DBT_DEVICEARRIVAL://U盘插入
                                                        DriveInfo[]   s   =   DriveInfo.GetDrives();
                                                        foreach   (DriveInfo   drive   in   s)
                                                        {
                                                                if   (drive.DriveType   ==   DriveType.Removable)
                                                                {
                                                                        richTextBox1.AppendText( "U盘已插入,盘符为: "   +   drive.Name.ToString()   +   "\r\n ");
                                                                        break;
                                                                }
                                                        }
                                                        break;
                                                case   DBT_CONFIGCHANGECANCELED:
                                                        break;
                                                case   DBT_CONFIGCHANGED:
                                                        break;
                                                case   DBT_CUSTOMEVENT:
                                                        break;
                                                case   DBT_DEVICEQUERYREMOVE:
                                                        break;
                                                case   DBT_DEVICEQUERYREMOVEFAILED:
                                                        break;
                                                case   DBT_DEVICEREMOVECOMPLETE:   //U盘卸载
                                                        break;
                                                case   DBT_DEVICEREMOVEPENDING:
                                                        break;
                                                case   DBT_DEVICETYPESPECIFIC:
                                                        break;
                                                case   DBT_DEVNODES_CHANGED:
                                                        break;
                                                case   DBT_QUERYCHANGECONFIG:
                                                        break;
                                                case   DBT_USERDEFINED:
                                                        break;
                                                default:
                                                        break;
                                        }
                                }
                        }
                        catch   (Exception   ex)
                        {
                                MessageBox.Show(ex.Message);
                        }
                        base.WndProc(ref   m);
                }
        }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值