Prototipo de función:
Bool getDiskfreespace (
LPCTSTR LPROOTPATHNAME,
LPDWORD LPSECTORSPERCLUSTER,
LPDWORD LPBYTESPERSector,
LPDWORD LPNumberOffReeclusters,
LPDWORD LPTOTALNumberOfClusters
);
Descripción del parámetro:
1.lprootpathName: especifica el nombre del directorio raíz de la unidad de prueba. Cuando es nulo, es el nombre del directorio raíz de la unidad donde se encuentra el directorio actual.
2.lpSectorsPerCluster: Obtenga el número de sectores por clúster de la unidad.
3.LPByTeSpersector: Obtenga el número de bytes por sector de la unidad.
4.LpNumberOffReClusters: el número de grupos restantes en el espacio en disco.
5.lptotalNumberOfClusters: el número de grupos en el espacio total de disco.
Ejemplo de aplicación:
Muestra la capacidad total del espacio en disco y la capacidad restante.
1) Según el ejemplo anterior, agregue dos componentes de edición y dos componentes de la etiqueta, como
2) Agregue el siguiente contenido a la parte correspondiente del evento Onchange del componente ComboBox:
Val
disktotal, diskfree, cl1, cl2, sec1, byt1: longword;
Comenzar
GetDiskFreespace (PCHAR (ComboBox1.Items [ComboBox1.Items [ComboBox1.Items]), Sec1, ByT1, CL1, CL2); // Obtener información sobre el disco
Diskfree: = cl1*sec1*byt1; // capacidad restante = número de grupos restantes*Número de sectores por clúster*Número de bytes por sector
disktotal: = cl2*sec1*byt1; // capacidad total = número total de grupos de disco*Número de sectores por clúster*Número de bytes por sector
edit2.Text: = Formatfloat ('' ##, ## 0 '', total);
edit3.Text: = formatfloat ('' ###, ## 0 '', freesp);
fin;