2

重複の可能性:
USB デバイスが接続されていることを検出する方法は?

USB デバイスがローカル マシンに接続されているときにメッセージを表示する c# .net Windows アプリケーションを作成したいと考えています。

また、この USB デバイスが接続されているときに、その中の特定のファイルを読みたいと思っています。

私の問題は、ファイルを読み取るための USB のドライブ名をどのように決定すればよいかということです。

たとえば、特定のマシンで、ドライブが 2 つしかない場合 (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 に答える