2

可能重复:
如何检测 USB 设备已插入?

我想创建 c# .net windows 应用程序,当任何 USB 设备连接到本地计算机时,我想在其中显示消息。

此外,当连接此 USB 设备时,我想读取其中的特定文件。

我的问题是我应该如何确定用于读取文件的 USB 驱动器名称。

例如,在特定的机器上,如果只有两个驱动器(c 和 d)......在那里检测到的 USB 驱动器将是 e。但在另一台机器上,如果有 3 个驱动器,那么在这种情况下 USB 驱动器可以是 f。

在这种情况下,我应该怎么做才能显示有关 USB 驱动器连接的消息并读取该驱动器中的特定文件。

4

1 回答 1

4

对于您的第一个问题,请查看此链接:如何检测何时使用 C# 插入可移动磁盘?

对于您问题的另一部分:

此外,当连接此 USB 设备时,我想读取其中的特定文件。

您可以像这样获取连接到系统的所有可移动驱动器 的drive letter和:volume label

  DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives)
{
if (d.DriveType == DriveType.Removable) 
{   
  Console.WriteLine("Drive {0}", d.Name);       
        Console.WriteLine("  Volume label: {0}", d.VolumeLabel);
}
}  

如果 USB 驱动器的卷标相同,那么这不是问题,否则您必须在连接到系统的所有可移动驱动器中搜索所需的文件。
希望能帮助到你。

于 2012-10-08T08:58:20.170 回答