欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#如何打開并讀取usb的文件目錄

 更新時間:2015年07月21日 09:22:34   作者:魂祭心  
這篇文章主要介紹了用C#語言實現(xiàn)打開并讀取usb的文件目錄,但是實現(xiàn)此功能要注意一點必須在u盤插入才能接受到信息,需要的朋友可以參考下

下面我通過一個小例子并結合一段代碼片段給大家展示下,有需要的朋友可以來借鑒下。

界面上拖一個 button 和treeview  ,運行的時候直接插入優(yōu)盤,單機按鈕就會出現(xiàn)目錄文件。不過只能在u盤插入,U盤拔出時,才能接收到信息。
1.[C#]代碼    

using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
 namespace usbText
{
 public partial class Form1 : Form
 {
 DriveInfo Tdriver = null;
 public Form1()
 {
 InitializeComponent();
 }
 protected override void WndProc(ref Message m)
 {
 if (m.Msg == 0x0219)//WM_DEVICECHANGE
 {
 switch (m.WParam.ToInt32())
 {
  case 0x8000://DBT_DEVICEARRIVAL
  {
  MessageBox.Show("設備插入");
  string[] dirs = Environment.GetLogicalDrives(); //取得所有的盤符 
  foreach (string dir in dirs)
  {
   Tdriver = new DriveInfo(dir);
   if (Tdriver.DriveType == DriveType.Removable)
   {
   {
   while (Tdriver.IsReady == false)
   {
   Thread.Sleep(500);
   }
   try
   {
   string PSTR = "";
   PSTR += "磁盤名稱:" + Tdriver.Name + "\r\n";
   PSTR += "磁盤卷標:" + Tdriver.VolumeLabel + "\r\n";
   PSTR += "文件系統(tǒng):" + Tdriver.DriveFormat + "\r\n";
   PSTR += "剩余大?。? + Tdriver.AvailableFreeSpace.ToString() + "\r\n";
   PSTR += "總體容量:" + Tdriver.TotalSize.ToString() + "\r\n";
   PSTR += "總體容量:" + Tdriver.RootDirectory.ToString() + "\r\n";
   MessageBox.Show(PSTR);
   }
   catch
   {
   MessageBox.Show("error");
   }
   }
   }
  } 
  break;
  }
  case 0x8004://DBT_DEVICEREMOVECOMPLETE
  {
  MessageBox.Show("設備拔出");
  break;
  }
 }
 }
 base.WndProc(ref m);
 }
 private void AddToTreeView(TreeNode node)
 {
 treeView1.Nodes.Add(node);
 treeView1.Refresh();
 }
 internal void LoadFolderFileList(string path, TreeNode nodes)
 {
 string[] dirs = Directory.GetDirectories(path);
 string[] files = Directory.GetFiles(path);
 for (int i = 0; i < dirs.Length; i++)
 {
 string[] info = new string[4];
 DirectoryInfo di = new DirectoryInfo(dirs[i]);
 TreeNode node = new TreeNode(di.Name);
 node.Tag = di.FullName;
 try
 {
  if (di.GetDirectories().Length > 0 || di.GetFiles().Length > 0)
  {
  LoadFolderFileList(di.FullName, node);
  }
  else
  {
  continue;
  }
 }
 catch
 {
  continue;
 }
 nodes.Nodes.Add(node);
 }
 for (int i = 0; i < files.Length; i++)
 {
 FileInfo fi = new FileInfo(files[i]);
 TreeNode node = new TreeNode(fi.Name);
 node.Tag = fi.FullName;
 nodes.Nodes.Add(node);
 }
 }
 private void button1_Click(object sender, EventArgs e)
 {
 if (Tdriver != null)
 {
 TreeNode node = new TreeNode();
 LoadFolderFileList(Tdriver.RootDirectory.ToString(), node);
 treeView1.Nodes.Add(node);
 }
 }
 }
}

通過以上代碼可以實現(xiàn)打開并讀取usb的文件目錄,希望大家能夠喜歡。

相關文章

  • C#以太網(wǎng)Sockets服務器設計實現(xiàn)

    C#以太網(wǎng)Sockets服務器設計實現(xiàn)

    本文主要介紹了C#以太網(wǎng)Sockets服務器設計實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • WPF快速入門教程之綁定Binding

    WPF快速入門教程之綁定Binding

    初學wpf,經(jīng)常被Binding搞暈,以下記錄寫B(tài)inding的基礎。下面這篇文章主要給大家介紹了關于WPF快速入門教程之綁定Binding的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2018-10-10
  • 在C#中使用OpenCV(使用OpenCVSharp)的實現(xiàn)

    在C#中使用OpenCV(使用OpenCVSharp)的實現(xiàn)

    這篇文章主要介紹了在C#中使用OpenCV(使用OpenCVSharp)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • C#中DataGridView導出Excel的兩種方法

    C#中DataGridView導出Excel的兩種方法

    這篇文章主要介紹了C#中DataGridView導出Excel的兩種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • 實例詳解C#實現(xiàn)http不同方法的請求

    實例詳解C#實現(xiàn)http不同方法的請求

    本篇文章給大家分享了C#實現(xiàn)http不同方法的請求的相關知識點以及實例代碼,有需要的朋友參考下。
    2018-07-07
  • Visual Studio中根據(jù)系統(tǒng)區(qū)分引用64位、32位DLL動態(tài)庫文件的配置方法

    Visual Studio中根據(jù)系統(tǒng)區(qū)分引用64位、32位DLL動態(tài)庫文件的配置方法

    這篇文章主要介紹了Visual Studio中根據(jù)系統(tǒng)區(qū)分引用64位、32位DLL動態(tài)庫文件的配置方法,本文在VS2008中測試通過,其它VS版本可以參考下
    2014-09-09
  • C#使用LINQ中Enumerable類方法的延遲與立即執(zhí)行的控制

    C#使用LINQ中Enumerable類方法的延遲與立即執(zhí)行的控制

    這篇文章主要介紹了C#的LINQ查詢中Enumerable類方法的延遲與立即執(zhí)行,LINQ語言集成查詢可以讓C#和VB以查詢數(shù)據(jù)庫相同的方式操作內(nèi)存數(shù)據(jù),需要的朋友可以參考下
    2016-03-03
  • C#實現(xiàn)windows form倒計時的方法

    C#實現(xiàn)windows form倒計時的方法

    這篇文章主要介紹了C#實現(xiàn)windows form倒計時的方法,涉及C#桌面程序設計中時間操作的技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • C#自適應合并文件的方法

    C#自適應合并文件的方法

    這篇文章主要介紹了C#自適應合并文件的方法,涉及C#基于FileStream類實現(xiàn)文件讀寫操作的相關技巧,非常簡單實用,需要的朋友可以參考下
    2015-07-07
  • C#泛型方法在lua中表示的一種設計詳解

    C#泛型方法在lua中表示的一種設計詳解

    這篇文章主要給大家介紹了關于C#泛型方法在lua中表示的一種設計的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-03-03

最新評論