| |
|
|
|
Descripción:
GetDiskFreeSpaceEx liefert Daten encima el gesamten y el freien Speicherplatz uno Laufwerks.
Deklaration:
DEF @GetDiskFreeSpaceEx(4) !kernel32,GetDiskFreeSpaceExA
Parámetro:
1.Parámetro: Adresse uno Cuerdas oder Bereichsvariable con un Cuerdas, de los Rootverzeichnis des abzufragenden Laufwerks enthält. 2.Parámetro: ULARGE_INTEGER Struktur oder 8 Byte Bereichsvariable, el el para el aktuellen User verfügbaren Speicherplatz enthält.=> Byte 0-3 = El unteren 4 Bytes des Wertes des freien Speicherplatzes (0 a 2^32-1 Bytes). Byte 4-7 = El oberen 4 Bytes des Wertes des freien Speicherplatzes. (2^32 Bytes a 2^64-1 Bytes). 3.Parámetro: ULARGE_INTEGER Struktur oder 8 Byte Bereichsvariable, el el gesamten Speicherplatz des Laufwerks enthält.=> Byte 0-3 = El unteren 4 Bytes des Wertes des freien Speicherplatzes (0 a 2^32-1 Bytes). Byte 4-7 = El oberen 4 Bytes des Wertes des freien Speicherplatzes. (2^32 Bytes a 2^64-1 Bytes). 4.Parámetro: ULARGE_INTEGER Struktur oder 8 Byte Bereichsvariable, el el gesamten freien Speicherplatz des Laufwerks enthält.=> Byte 0-3 = El unteren 4 Bytes des Wertes des freien Speicherplatzes (0 a 2^32-1 Bytes). Byte 4-7 = El oberen 4 Bytes des Wertes des freien Speicherplatzes. (2^32 Bytes a 2^64-1 Bytes).
Rückgabewert:
1 en Erfolg, 0 en Fehler.
Beispiele:
DEF @GetDiskFreeSpaceEx(4) !"kernel32","GetDiskFreeSpaceExA"
Declarar LWERK$,Libre#,Total#,Total!,Libre!,TotalFree!,TotalFree#
...wegen Bug en Profano wandele Yo Words y no LongInts en...
Proc TransformWord Umweg über Word...
Parámetros High&,Push%
Declarar BitCount%,High!
Let BitCount%=0
Mientras que BitCount%<16
IF @TestBit(High&,BitCount%)=1
LET HIGH!=HIGH!+2^(BitCount%+Push%)
endif
inc BitCount%
Wend
Volver HIGH!
ENDPROC
Windowstyle 31
Windowtitle "Diskspace"
Ventana 0,0-640,440
LET LWERK$="E:"
DIM Libre#,8
DIM Total#,8
DIM TOTALFREE#,8
Decimals 0
@GetDiskFreeSpaceEx(@ADDR(LWERK$),Libre#,Total#,TOTALFREE#)
LET FREE!=@Word(Libre#,0)
TransformWord @Word(Libre#,2),16
LET Libre!=FREE!+@!(0)
TransformWord @Largo(Libre#,4),32
LET Libre!=Libre!+@!(0)
TransformWord @Largo(Libre#,6),40
LET Libre!=Libre!+@!(0)
LET Total!=@Word(Total#,0)
TransformWord @Word(Total#,2),16
LET Total!=Total!+@!(0)
TransformWord @Largo(Total#,4),32
LET Total!=Total!+@!(0)
TransformWord @Largo(Total#,6),40
LET Total!=Total!+@!(0)
LET TOTALFREE!=@Word(TOTALFREE#,0)
TransformWord @Word(TOTALFREE#,2),16
LET TOTALFREE!=TOTALFREE!+@!(0)
TransformWord @Largo(TOTALFREE#,4),32
LET TOTALFREE!=TOTALFREE!+@!(0)
TransformWord @Largo(TOTALFREE#,6),40
LET TOTALFREE!=TOTALFREE!+@!(0)
Disponer Libre#
Disponer Total#
Disponer TOTALFREE#
PRINT "Frei para User=";Free!
Imprimir "Größe el Platte=";Total!
Imprimir "Insgesammt frei=";TOTALFREE!
Mientras que 0=0
Waitinput
Wend
[keywords:77dce4ae0a] Speicherplatz Laufwerk frei verfügbar verfügbarer bestimmen erfahren auslesen gesamt [/keywords:77dce4ae0a] |
|
|
| |
|
|