C#获取USB事件API实例分析

本文实例讲述了C#获取USB事件API。分享给大家供大家参考。具体如下:

const int WM_DEVICECHANGE = 0x2190;
const int DBT_DEVICEARRIVAL = 0x8000;
const int DBT_DEVICEREMOVECOMPLETE = 0x8004;
protected override void WndProc(ref Message m)
{
 try
 {
  //if (m.Msg == WM_DEVICECHANGE)
  //{
   switch (m.WParam.ToInt32())
   {
    case DBT_DEVICEARRIVAL:  // U盘插入
     DriveInfo[] s = DriveInfo.GetDrives();
     foreach (DriveInfo drive in s)
     {
      if (drive.DriveType == DriveType.Removable)
      {
       Console.WriteLine("USB插入");
       break;
      }
     }
     break;
    case DBT_DEVICEREMOVECOMPLETE: //U盘卸载
     //
     Console.WriteLine("USB卸载");
     break;
    default:
     break;
   }
  //}
 }
 catch (Exception ex)
 {
  MessageBox.Show(ex.Message);
 }
 base.WndProc(ref m);
}

希望本文所述对大家的C#程序设计有所帮助。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。