Registriert seit: 27. Mai 2004
Ort: Bad Sooden-Allendorf
240 Beiträge
Delphi 6 Professional
|
Grösse der Nutzer-Daten auf Netzlaufwerk
28. Feb 2008, 12:25
Hallo,
ich möchte wissen, wieviel MB der angemeldete User auf einem Netzlaufwerk geladen hat. Folgender Code gibt mir nur die Gesamtgrösse des Netzlaufwerkes, und ich weiss jetzt nicht, wie ich die Nutzerdatenmenge rauskriegen kann!
Hoffe, Ihr könnt mir helfen!
Delphi-Quellcode:
begin
root := copy(listview1.selected.caption, 1,1)+ ':\' ;
VolumeNameBuffer := StrAlloc(256);
FileSystemNameBuffer := StrAlloc(256);
if
GetVolumeInformation(PChar(root),
VolumeNameBuffer,255,
@VolumeSerialNumber,
MaximumComponentLength,
FileSystemFlags,
FileSystemNameBuffer, 255)
then begin
GetDiskFreeSpace(PChar(root), SectorsPerCluster, BytesPerSector, NumberOfFreeClusters, TotalNumberOfClusters);
stringgrid1.cells[0,0]:= 'Volumename';stringgrid1.cells[1,0]:= VolumeNameBuffer;
stringgrid1.cells[0,1]:= 'Filesystem';stringgrid1.cells[1,1]:= FileSystemNameBuffer;
stringgrid1.cells[0,2]:= 'Seriennummer';stringgrid1.cells[1,2]:= inttostr(VolumeSerialNumber);
stringgrid1.cells[0,3]:= 'Länge Dateiname';stringgrid1.cells[1,3]:= inttostr(MaximumComponentLength);
stringgrid1.cells[0,4]:= 'Sektoren/Cluster';stringgrid1.cells[1,4]:= inttostr(SectorsPerCluster);
stringgrid1.cells[0,5]:= 'Bytes/Sektor';stringgrid1.cells[1,5]:= inttostr(BytesPerSector);
stringgrid1.cells[0,6]:= 'Freie Cluster';stringgrid1.cells[1,6]:= inttostr(NumberOfFreeClusters);
stringgrid1.cells[0,7]:= 'Cluster gesamt';stringgrid1.cells[1,7]:= inttostr(TotalNumberOfClusters);
freix := SectorsPerCluster * BytesPerSector;
frei := freix * NumberOfFreeClusters;
stringgrid1.cells[0,8]:= 'frei ';stringgrid1.cells[1,8]:= format('%-20.0n',[frei]);
gesamtx := SectorsPerCluster * BytesPerSector;
gesamt := gesamtx * TotalNumberOfClusters;
stringgrid1.cells[0,9]:= 'gesamt ';stringgrid1.cells[1,9]:= format('%-20.0n',[gesamt]);
|