在计算机上有磁盘0,磁盘1,...(正如我们在计算机管理中看到的那样)。这些(物理)磁盘可能有或没有分区,已安装或未安装等等。我想知道该计算机上是否存在具有特定编号的磁盘(无论该磁盘上是什么)。 此功能必须在Windows> = XP的任何计算机上正常工作,并且必须尽可能快(少于1秒)。 如果磁盘没有安装卷,则使用GetDriveType和DeviceIoControl(... IOCTL_STORAGE_GET_DEVICE_NUMBER ..)/ DiskSize / DiskFree的简单枚举'A'..'Z'无效。 我正在使用Delphi 7。
答案 0 :(得分:1)
使用CreateFile()
打开"\\.\PhysicalDriveX"
作为文件名,其中X
是所需的数字,并查看它是成功还是失败。即使它失败了,您仍然可以检查错误是由于设备不存在而不是可访问(这意味着它存在)。
答案 1 :(得分:0)
您可以使用WMI 查询就像 选择* FROM Win32_DiskDrive 为您提供基本信息