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

 
     
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号