C#的usb通讯编程
2009-07-23 21:48
387 查看
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); } } }
相关文章推荐
- C#的usb通讯编程
- C#的usb通讯编程
- C#的usb通讯编程
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(二)----使用方法
- 嵌入式系统通讯线程的C#编程方法
- 【C#串口编程计划】C#通讯类库构建
- C#网络编程(一)------最简单的基于cs的sokect通讯程序
- 嵌入式系统通讯线程的C#编程方法
- C#四路继电器usb转com口编程
- 如何通过xcode编程使MAC机器和HID的USB单片机设备进行通讯
- C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(二)
- 运用C#编程通过OPC方式实现PC机与西门子PLC通讯-同步通讯篇
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)
- C#通讯编程入门--整形、双精度浮点型、字符串与字节型的相互转化
- C#通讯编程入门--串口数据接收发送实例
- (转)C#与Android通过adb实现usb通讯
- C#通讯编程(转)
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(二)----使用方法