用DriveType如何具体区分软盘和可移动磁盘? DriveInfo[] drivers = DriveInfo.GetDrives();
foreach (DriveInfo driver in drivers)
{
if (driver.DriveType == DriveType.Removable)
{
//结果把软盘(A)也显示成"可移动磁盘"了?这不是我愿意看到的!
//我想具体区分软盘和可移动磁盘,只显示可移动磁盘是否有办法?
}
}
foreach (DriveInfo driver in drivers)
{
if (driver.DriveType == DriveType.Removable)
{
//结果把软盘(A)也显示成"可移动磁盘"了?这不是我愿意看到的!
//我想具体区分软盘和可移动磁盘,只显示可移动磁盘是否有办法?
}
}
那么区分软盘就简单了:bool isFloppy = dirver.Name.Length > 0 && (driver.Name[0] == 'A' || driver.Name[0] == 'B');
ManagementObjectSearcher searcher = new ManagementObjectSearcher(selectQuery);
int i=0;
foreach (ManagementObject disk in searcher.Get()) {
string DriveType;
DriveType = disk["DriveType"].ToString();
switch (DriveType)
{
case "0":
listView1.Items[i].SubItems.Add("未知设备");
break;
case "1":
listView1.Items[i].SubItems.Add("未分区");
break;
case "2":
listView1.Items[i].SubItems.Add("可移动磁盘");
break;
case "3":
listView1.Items[i].SubItems.Add("硬盘");
break;
case "4":
listView1.Items[i].SubItems.Add("网络驱动器");
break;
case "5":
listView1.Items[i].SubItems.Add("光驱");
break;
case "6":
listView1.Items[i].SubItems.Add("内存磁盘");
break;
}
typedef enum _MEDIA_TYPE {
Unknown,
F5_1Pt2_512,
F3_1Pt44_512,
F3_2Pt88_512,
F3_20Pt8_512,
F3_720_512,
F5_360_512,
F5_320_512,
F5_320_1024,
F5_180_512,
F5_160_512,
RemovableMedia,
FixedMedia,
F3_120M_512,
F3_640_512,
F5_640_512,
F5_720_512,
F3_1Pt2_512,
F3_1Pt23_1024,
F5_1Pt23_1024,
F3_128Mb_512,
F3_230Mb_512,
F8_256_128,
F3_200Mb_512,
F3_240M_512,
F3_32M_512
} MEDIA_TYPE;Unknown
Format is unknownF5_1Pt2_512
A 5.25" floppy, with 1.2MB and 512 bytes/sector.F3_1Pt44_512
A 3.5" floppy, with 1.44MB and 512 bytes/sector.F3_2Pt88_512
A 3.5" floppy, with 2.88MB and 512 bytes/sector.F3_20Pt8_512
A 3.5" floppy, with 20.8MB and 512 bytes/sector.F3_720_512
A 3.5" floppy, with 720KB and 512 bytes/sector.F5_360_512
A 5.25" floppy, with 360KB and 512 bytes/sector.F5_320_512
A 5.25" floppy, with 320KB and 512 bytes/sector.F5_320_1024
A 5.25" floppy, with 320KB and 1024 bytes/sector.F5_180_512
A 5.25" floppy, with 180KB and 512 bytes/sector.F5_160_512
A 5.25" floppy, with 160KB and 512 bytes/sector.RemovableMedia
Removable media other than floppy.FixedMedia
Fixed hard disk media.F3_120M_512
A 3.5" floppy, with 120MB and 512 bytes/sector.F3_640_512
A 3.5" floppy, with 640KB and 512 bytes/sector.F5_640_512
A 5.25" floppy, with 640KB and 512 bytes/sector.F5_720_512
A 5.25" floppy, with 720KB and 512 bytes/sector.F3_1Pt2_512
A 3.5" floppy, with 1.2MB and 512 bytes/sector.F3_1Pt23_1024
A 3.5" floppy, with 1.23MB and 1024 bytes/sector.F5_1Pt23_1024
A 5.25" floppy, with 1.23MB and 1024 bytes/sector.F3_128Mb_512
A 3.5" floppy, with 128MB and 512 bytes/sector.F3_230Mb_512
A 3.5" floppy, with 230MB and 512 bytes/sector.F8_256_128
An 8" floppy, with 256KB and 128 bytes/sector.F3_200Mb_512
A 3.5" floppy, with 200MB and 512 bytes/sector. (HiFD).F3_240M_512
A 3.5" floppy, with 240MB and 512 bytes/sector. (HiFD).F3_32M_512
A 3.5" floppy, with 32MB and 512 bytes/sector.http://msdn.microsoft.com/en-us/library/aa365231(VS.85).aspx