C#读U盘的文件

it2022-05-09  31

当把U盘放插入,然后程序自动将U盘的内容复制到本地硬盘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 U盘更新{    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();        }

        private void Form1_Load(object sender, EventArgs e)        {

        }                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)                                {                                    listBox1.Items.Add("U盘已插入,盘符为:" + drive.Name.ToString());                                    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);        }

转载于:https://www.cnblogs.com/tuyile006/archive/2006/11/08/554118.html

相关资源:C#快速识别U盘

最新回复(0)