`
- 浏览:
73423 次
- 性别:
- 来自:
厦门
-
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);
}
}
}
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在C#编程环境中,USB通信是一个重要的领域,特别是在嵌入式系统、自动化设备以及数据采集系统等应用中。本文将详细讲解如何使用C#进行USB通信编程,包括如何捕捉USB设备的插入和拔出事件,以及如何列出系统中的USB...
本文将深入探讨C#在串口和USB通信中的应用,包括转串口、并口以及USB打印口的相关知识。 首先,让我们来看看串口通信。串口,通常指的是RS-232接口,是一种广泛用于计算机和外设之间通信的接口。在C#中,我们可以...
C#本身并不直接支持USB通讯,但可以通过.NET Framework中的System.IO.Ports命名空间或第三方库如libusb、SharpHID等来实现。在这个实例中,很可能是利用了SharpHID这样的库来访问HID设备。 1. **设备识别**:在开始...
学习"C# USB数据接收与发送"不仅要求掌握C#编程基础,还需要理解USB协议和Windows操作系统中的设备驱动原理。通过实践这些步骤和研究提供的示例代码,开发者可以构建自己的USB通信应用程序,实现与各种USB设备的有效...
C#利用VISA与仪器通讯编程实例,VISA通讯包含USB/串口/GPIB/LAN,通讯,一般电子类测量仪器都是采用这些通讯方式,比如泰克,keithley,是德,安捷伦,普源等等知名仪器公司都是采用VISA标准来设计软件和仪器通讯,...
USB通讯是计算机与USB设备之间的数据交换,C#提供了System.IO.Ports命名空间,其中包含SerialPort类,方便开发者进行串行通信。通过USB摄像头,开发者可以调用特定的库,例如AForge.NET或Emgu CV,来获取和处理来自...
完全的通用USB开发库,完全的C#调用接口和帮助文档,本人开发USB上位机软件包时,发现都是非托管的C++调用库,C#调用库非常少。所以收集了这个,供用.NET方式开发USB的朋友使用。
在C#编程环境中,USB通信是一个常见的需求,特别是在设备控制、数据传输以及嵌入式系统交互等场景。`libusbdotnet`是一个强大的库,它为.NET开发者提供了与USB设备进行通信的能力。这个库是基于开源的libusb库封装的...
在IT行业中,C#是一种广泛使用的编程语言,尤其在开发Windows桌面应用时。"C# USB HID完整例程"是一个针对C#环境下的USB设备通信的示例项目,重点在于利用HID(Human Interface Device)类接口进行数据的收发。HID是...
在本文中,我们将深入探讨"C# USB HID示例"这一主题,这是一项针对初学者的USB人机交互设备(Human Interface Device, HID)编程实践。HID设备包括键盘、鼠标、游戏控制器等,它们通过USB接口与计算机进行通信。C#是...
在IT行业中,C#是一种广泛使用的编程语言,尤其在...总的来说,"C# USB通讯"涵盖了C#编程、USB设备交互、异步编程等多个技术领域。通过学习和实践,开发者能够创建出能够高效、稳定地与USB设备进行通信的C#应用程序。
在C#编程环境下,USBCan提供了访问CAN网络的功能,使得开发者能够创建应用程序来发送和接收CAN消息。在给定的“usbCan(c#实例)”中,主要解决的是在一次操作中只能接收一条数据的限制,这通常涉及到多线程处理、数据...
在压缩包中的“C#版USB通信编程(接收和发送数据)”文件可能是实现以上功能的示例代码。通过阅读和理解这个示例,开发者可以学习如何在实际项目中应用上述技术,进行USB设备的通信操作。 总结起来,C#语言为USB设备...