DiskSize() ? [erledigt]
Verfasst: Mi, 29. Okt 2014 0:27
hi,
ich möchte die Gesamt Grösse einer HDD / SDD oder USB Stick bestimmen.
mit DiskSpace() bekomme ich ja den freien Platz ... aber nicht die gesamte Grösse.soweit so gut ...
aber wenn ich die HDD / SDD partitioniert (C:,D:) habe ... wie bekomme ich dann die Grösse von "C:\" ... hm
p.s. keine WMI (Win32_DiskDrive) oder XbTool (DiskTotal) Lösung erwünscht.
ich möchte die Gesamt Grösse einer HDD / SDD oder USB Stick bestimmen.
mit DiskSpace() bekomme ich ja den freien Platz ... aber nicht die gesamte Grösse.
Code: Alles auswählen
FUNCTION DiskSpaceFree(cDrive) // "C:\"
LOCAL nRetVal
LOCAL lpSectorsPerCluster := SPACE(8)
LOCAL lpBytesPerSector := SPACE(8)
LOCAL lpNumberOfFreeClusters := SPACE(8) // -> DiskSpace()
LOCAL lpTotalNumberOfClusters := SPACE(8) // -> Total Disk Size ...
nRetVal:=DllCall( "Kernel32.dll" , DLL_STDCALL, "GetDiskFreeSpaceExA",;
cDrive ,;
@lpSectorsPerCluster ,;
@lpBytesPerSector ,;
@lpNumberOfFreeClusters ,;
@lpTotalNumberOfClusters )
RETURN IF(nRetVal=0,-1,Bin2li(lpTotalNumberOfClusters))
aber wenn ich die HDD / SDD partitioniert (C:,D:) habe ... wie bekomme ich dann die Grösse von "C:\" ... hm
p.s. keine WMI (Win32_DiskDrive) oder XbTool (DiskTotal) Lösung erwünscht.