如何使用Delphi 7找到Windows中存在具有特定数字(0 ... n)的(物理)磁盘?

时间:2013-06-09 11:49:30

标签: windows delphi delphi-7 disk

在计算机上有磁盘0,磁盘1,...(正如我们在计算机管理中看到的那样)。这些(物理)磁盘可能有或没有分区,已安装或未安装等等。我想知道该计算机上是否存在具有特定编号的磁盘(无论该磁盘上是什么)。 此功能必须在Windows> = XP的任何计算机上正常工作,并且必须尽可能快(少于1秒)。 如果磁盘没有安装卷,则使用GetDriveType和DeviceIoControl(... IOCTL_STORAGE_GET_DEVICE_NUMBER ..)/ DiskSize / DiskFree的简单枚举'A'..'Z'无效。 我正在使用Delphi 7。

2 个答案:

答案 0 :(得分:1)

使用CreateFile()打开"\\.\PhysicalDriveX"作为文件名,其中X是所需的数字,并查看它是成功还是失败。即使它失败了,您仍然可以检查错误是由于设备不存在而不是可访问(这意味着它存在)。

答案 1 :(得分:0)

您可以使用WMI 查询就像 选择* FROM Win32_DiskDrive 为您提供基本信息