すもぎのめも

いろいろあったことをメモしています

C# で USB メモリの情報を取得する

ManagementObjectSearcher を使用する。(System.Management.dll の参照が必要)

var mos = new ManagementObjectSearcher("Select * from Win32_DiskDrive where InterfaceType='USB'");
// SELECT * FROM Win32_PnPEntity where DeviceID Like 'USB%' 

foreach (var mo in mos.Get())
{
    Console.WriteLine(mo);

    foreach (var prop in mo.Properties)
    {
        Console.WriteLine($"  {prop.Name} : {prop.Value}");
    }
    //インデクサで個別取得できる
    //var pnp = mo["PNPDeviceID"].ToString();
    //Console.WriteLine(pnp);
}