程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#若何翻開並讀取usb的文件目次

C#若何翻開並讀取usb的文件目次

編輯:C#入門知識

C#若何翻開並讀取usb的文件目次。本站提示廣大學習愛好者:(C#若何翻開並讀取usb的文件目次)文章只能為提供參考,不一定能成為您想要的結果。以下是C#若何翻開並讀取usb的文件目次正文


上面我經由過程一個小例子並聯合一段代碼片斷給年夜家展現下,有須要的同伙可以來自創下。

界面上拖一個 button 和treeview  ,運轉的時刻直接拔出優盤,單機按鈕就會湧現目次文件。不外只能在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 += "文件體系:" + 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);
 }
 }
 }
}

經由過程以上代碼可以完成翻開並讀取usb的文件目次,願望年夜家可以或許愛好。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved