C#監聽USB接入

來源:互聯網
上載者:User
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   隨身碟更新  
  {  
          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://隨身碟插入  
                                                          DriveInfo[]   s   =   DriveInfo.GetDrives();  
                                                          foreach   (DriveInfo   drive   in   s)  
                                                          {  
                                                                  if   (drive.DriveType   ==   DriveType.Removable)  
                                                                  {  
                                                                          listBox1.Items.Add("隨身碟已插入,盤符為:"   +   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:   //隨身碟卸載  
                                                          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);  
                  }
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.