Prototipo de função:
Bool getdiskfreespace (
LPCTSTR LProotPathName,
Lpdword lpsectorspercluster,
Lpdword lpbyTespersector,
Lpdword lpNumberOfreCLusters,
Lpdword lptotalNumberOfClusters
);
Descrição do parâmetro:
1.LProotPathName: Especifica o nome do diretório raiz da unidade de teste. Quando nulo, é o nome do diretório raiz da unidade em que o diretório atual está localizado.
2.LPSectorsPerCluster: Obtenha o número de setores por cluster da unidade.
3.lpbyTespersector: Obtenha o número de bytes por setor da unidade.
4.lpNumberOffreeClusters: O número de clusters restantes no espaço em disco.
5.LPtotalNumberOfClusters: O número de clusters no espaço total do disco.
Exemplo de aplicação:
Exibe a capacidade total do espaço em disco e a capacidade restante.
1) Com base no exemplo acima, adicione dois componentes de edição e dois componentes de etiquetas, como
2) Adicione o seguinte conteúdo à parte correspondente do evento OnChange do componente ComboBox:
Val
Disktotal, DiskFree, CL1, CL2, Sec1, Byt1: Longword;
Começar
GetDiskFreespace (PCHO (ComboBox1.Items [ComboBox1.items [ComboBox1.items]), Sec1, BYT1, CL1, CL2); // Obtenha informações de disco
DiskFree: = Cl1*sec1*byt1; // capacidade restante = número de clusters restantes*Número de setores por cluster*Número de bytes por setor
Disktotal: = Cl2*sec1*byt1; // Capacidade total = número total de clusters de disco*Número de setores por cluster*Número de bytes por setor
edit2.text: = formatfloat ('' ##, ## 0 '', total);
edit3.text: = formatfloat ('' ###, ## 0 '', freesp);
fim;