Schijfgebruik

Alles over het toepassen van API en DLL's in Liberty BASIC

Moderator: anthonio

Schijfgebruik

Berichtdoor anthonio » wo aug 13, 2008 12:05 pm

Weeral een simpele API om je schijfgebruik te kennen.

Code: Selecteer alles
dir$ = "c:\"
struct AB,freebytesLo as ulong, freebytesHi as ulong 'beschikbare bytes
struct TB,totalbytesLo as ulong, totalbytesHi as ulong 'totale bytes
struct FB,totalfreeLo as ulong, totalfreeHi as ulong 'totale vrije bytes

calldll #kernel32, "GetDiskFreeSpaceExA",_
dir$ as ptr,_ 'naam van de directory
AB as struct, TB as struct, FB as struct,_
ret as boolean 'niet nul is goed

avBytes= AB.freebytesHi.struct* HexDec("100000000")+ AB.freebytesLo.struct
print "Totaal beschikbare bytes is "; avBytes
print "Totaal beschikbare KB is ongeveer "; int(avBytes/1024)
print "Totaal beschikbare MB is ongeveer "; int((avBytes/1024)/1024)
print "Totaal beschikbare GB is ongeveer "; int(((avBytes/1024)/1024)/1024)
print
totalBytes= TB.totalbytesHi.struct* HexDec("100000000") + TB.totalbytesLo.struct
print "Totaal beschikbare bytes is "; totalBytes
print "Totaal beschikbare KB is ongeveer "; int(totalBytes/1024)
print "Totaal beschikbare MB is ongeveer "; int((totalBytes/1024)/1024)
print "Totaal beschikbare GB is ongeveer "; int(((totalBytes/1024)/1024)/1024)
print
usedkb=int((totalBytes - avBytes)/1024)
print "Totaal beschikbare bytes is "; usedkb
print "Totaal beschikbare KB is ongeveer "; int(usedkb/1024)
print "Totaal beschikbare MB is ongeveer "; int((usedkb/1024)/1024)
print "Totaal beschikbare GB is ongeveer "; int(((usedkb/1024)/1024)/1024)
print

if ret = 0 then print "fout" else print "succes"

end
Dual boot: Ubuntu 8.04 - WIndows XP SP2 (via VMware) - Windows Vista 32bit - Toshiba L40 - Dual Core @ 1,76GHz - 1GB RAM - 120GB HDD - VDSL Connection
Avatar gebruiker
anthonio
 
Berichten: 281
Geregistreerd: zo mei 20, 2007 9:58 pm

Keer terug naar API/DLL

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers. en 1 gast

cron