硬盘怎么样分区:怎么样知道硬盘上有哪几个分区或者指定的分区是在哪一个硬盘上来源: 发布时间:星期四, 2009年2月12日 浏览:517次 评论:0
希望能得到这样结果 磁盘 1 分区 1 : C 磁盘 1 分区 2 : D 磁盘 1 分区 3 : E 磁盘 1 分区 4 : F 磁盘 2 分区 1 : G 磁盘 2 分区 2 : I 磁盘 2 分区 3 : J 磁盘 2 分区 4 : K --------------------------------------------------------------- 就是这样了GetVolumeInfo(\'C\').DiskNumber结果就是所在物理磁盘ID 需要JEDIWin32支持库才能编译! function GetVolumeInfo(DriverLetter: Char): TDiskExtent; var hVolume: THandle; DiskExtents: PVolumeDiskExtents; dwOutBytes: Cardinal; begin with Result do begin DiskNumber := 0; StartingOff.QuadPart := 0; ExtentLength.QuadPart := 0; end; hVolume := CreateFile(PChar(\'\\\\.\\\'+DriverLetter+\':\'), GENERIC_READ or GENERIC_WRITE, FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0); hVolume < 1 then Exit; DiskExtents := AllocMem(Max_Path); DeviceIoControl(hVolume, IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS, nil, 0, DiskExtents, Max_Path, dwOutBytes, nil) then begin DiskExtents^.NumberOfDiskExtents > 0 then Result := DiskExtents^.Extents[0]; end; FreeMem(DiskExtents); CloseHandle(hVolume); end; 0
相关文章读者评论发表评论 |
|