在计算机上有磁盘0,磁盘1,...(正如我们在计算机管理中看到的)。这些(物理)磁盘可能有分区或没有分区,挂载或未挂载等等。我想知道该计算机上是否存在具有特定编号的磁盘(无论该磁盘上有什么)。此功能必须在任何装有Windows >= XP的计算机上正常工作,并且必须尽可能快(不超过1秒)。如果磁盘没有装载卷,使用GetDriveType和DeviceIoControl(...IOCTL_STORAGE_GET_DEVICE_NUMBER..)/DiskSize/DiskFree的简单枚举'A'..'Z‘不会有任何帮助。我使用的是Delphi 7。
发布于 2013-06-10 04:09:46
使用CreateFile()打开"\\.\PhysicalDriveX"作为文件名,其中X是所需的数字,并查看它是成功还是失败。即使它失败了,您仍然可以检查错误是由于设备不存在还是由于无法访问(这意味着它存在)。
发布于 2013-08-01 17:15:25
您可以使用WMI,像select * FROM Win32_DiskDrive这样的查询来获取基本信息
https://stackoverflow.com/questions/17009279
复制相似问题