1
A
答えて
2
Ardmanの答えのための親指。完璧。 少し変更を加えるには、ドライブのタイプを見つけるための変更を加えたいと思います。それはあなたの問題に対応する必要があります。
DriveInfo[] mydrives = DriveInfo.GetDrives();
foreach (DriveInfo mydrive in mydrives)
{
if (mydrive.DriveType == DriveType.Removable)
{
Console.WriteLine("\nRemovable disk");
Console.WriteLine("Drive: {0}", mydrive.Name);
Console.WriteLine("Type: {0}", mydrive.DriveType);
}
else
{
Console.WriteLine("\nNon Removable disk\n");
Console.WriteLine("Drive: {0}", mydrive.Name);
Console.WriteLine("Type: {0}", mydrive.DriveType);
}
}
また、ドライブ名を取得する場合は、このようにすることもできます。特定の著者がクレジットを取得するように、これらはウェブからの例であることに注意してください。私がしたことは、あなたが理解できるように、これらのコードスニペットを使用して完全なプログラムを作成することです。
[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
static extern bool GetVolumeInformation(string Volume, StringBuilder VolumeName, uint VolumeNameSize,out uint SerialNumber, out uint SerialNumberLength, out uint flags,StringBuilder fs, uint fs_size);
まずこの関数をそのまま書いてください。 kernel32.dllを使用してドライブ情報を取得します。 (それはコンソールアプリケーションですかあなたはGUIを持っている場合は、適切に行う場合。) は、次に主な機能には、単にこれらのコードを追加することができます
uint serialNum, serialNumLength, flags;
StringBuilder volumename = new StringBuilder(256);
StringBuilder fstype = new StringBuilder(256);
bool ok = false;
//Cursor.Current = Cursors.WaitCursor;
foreach (string drives in Environment.GetLogicalDrives())
{
ok = GetVolumeInformation(drives, volumename, (uint)volumename.Capacity - 1, out serialNum,
out serialNumLength, out flags, fstype, (uint)fstype.Capacity - 1);
if (ok)
{
Console.WriteLine("\n Volume Information of " + drives + "\n");
Console.WriteLine("\nSerialNumber of is..... " + serialNum.ToString() + " \n");
if (volumename != null)
{
Console.WriteLine("VolumeName is..... " + volumename.ToString() + " \n");
}
if (fstype != null)
{
Console.WriteLine("FileType is..... " + fstype.ToString() + " \n");
}
}
ok = false;
}
私はこれがあなたのために完全な答えである必要がありますね。
2
DriveInfo[] mydrives = DriveInfo.GetDrives();
foreach (DriveInfo mydrive in mydrives)
{
Console.WriteLine("Drive: {0}", mydrive.Name);
Console.WriteLine("Type: {0}", mydrive.DriveType);
}
このコードは各ドライブをループし、USBドライブが表示されます。 DriveType
はRemovable
と表示され、USB
ではなく、表示されます。
さらに詳しい情報はDriveTypeです。
0
それとも、このような何かを行うことができます(私の例では、私は、コンボボックスにドライブリストを更新):
drives = DriveInfo.GetDrives().Where(drive => drive.IsReady && drive.DriveType == DriveType.Removable).ToArray();
if (drives.Length == 0)
{
drivesBox.Items.Add("No USB Stick found.");
formatButton.Enabled = false;
}
else
{
foreach (DriveInfo drive in drives)
{
drivesBox.Items.Add(drive.VolumeLabel + " (" + drive.Name + ")");
}
formatButton.Enabled = true;
}
関連する問題
- 1. Mac、デバイスが接続されているUSBポート名を表示
- 2. 接続されているUSBデバイスの速度を知るには?
- 3. ノードに接続されているデバイスのUSBポートを取得する
- 4. USBデバイスをプログラムで接続して再接続する方法
- 5. 接続されたUSBデバイスのデバイスパスを取得する
- 6. 一度だけEXEをトリガーするデバイスがUSBで接続されている
- 7. 接続されたUSBデバイスをチェックするCMDコマンド
- 8. 接続されたUSBデバイスのポート名の取得
- 9. 接続されたUSBデバイスでUSBホストコントローラを見つける方法
- 10. Androidホスト:マスストレージUSBデバイスとの接続
- 11. ios:ホストとUSB接続デバイスの通信
- 12. USB HIDデバイスが接続されているときにusbidが自動ロードされないようにする
- 13. どのようにデバイスがUSBポート2.0またはUSBポート3.00に接続されて見つけるか?
- 14. ADBにUSB接続されたデバイスが表示されなくなった
- 15. libusbを正しく接続して接続されたUSBデバイスと通信するには?
- 16. 新しいusbデバイスがQtに接続/切断されました
- 17. ハイパーV仮想マシンにUSBプリンタを接続する
- 18. どのUSBデバイスがマシンに接続されているかをコードで知る方法を探していますか?
- 19. USBデバイスをプログラムで接続して切断する
- 20. UNIXマシンでホストされているWeblogicサーバーにEclipseを接続
- 21. Cで同じUSBハブに接続された2つのUSBデバイスを検出する方法#
- 22. デバイスを接続する前にUSBドライバをインストールする
- 23. HID USB/Bluetoothデバイスがココアに接続されているかどうかを知るには?
- 24. iPhoneデバイスがデバッグ目的のためにマシンに接続されているかどうかを検出する
- 25. 通知メッセージは、USBに接続されているデバイスのみを表示します
- 26. 一度USBデバイスがMACに接続されている場合の火災通知
- 27. USBデバイスが接続されているときにユーザーからの入力を受け取ります
- 28. C#同じUSBデバイスを複数接続して特定のUSBデバイスを見つける方法は?
- 29. USBデバイスをドッキングコンテナに接続する方法
- 30. AndroidのUSB-デバッグ:デバイスが認識されたが、その後、接続
デバイスの本名を知る方法はありますか? - Shira(G:) - (私のDOK)、G:? – Shira
ここで私の答えを編集しました。これをチェックしてください。 – JCTLK