Seite 1 von 1

Freien Arbeitsspeicher herausfinden?

Verfasst: 08.12.2006 21:29
von PureBasic4.0
Hi, Leute

Gibt es eine möglichkeit , den freien arbeitsspeicher per api rauszufinden?

danke,
purebasic4.0

Verfasst: 09.12.2006 10:54
von Jilocasin

Code: Alles auswählen

Procedure.l RAMFree()  ; Gibt zurück wieviel Platz (in Byte) im Arbeitsspeicher zurzeit frei sind.
   Protected Info.MEMORYSTATUS
   Info\dwLength = SizeOf(MEMORYSTATUS)
   GlobalMemoryStatus_(@Info)
   ProcedureReturn Info\dwAvailPhys
EndProcedure

Procedure.l RAMTotal()  ; Gibt die Größe des installierten Arbeitsspeichers zurück.
   Protected Info.MEMORYSTATUS
   Info\dwLength = SizeOf(MEMORYSTATUS)
   GlobalMemoryStatus_(@Info)
   ProcedureReturn Info\dwTotalPhys
EndProcedure

Procedure.l RAMUsed()  ; Gibt zurück wieviel Platz (in Byte) im Arbeitsspeicher zurzeit belegt sind.
   Protected Info.MEMORYSTATUS
   Info\dwLength = SizeOf(MEMORYSTATUS)
   GlobalMemoryStatus_(@Info)
   ProcedureReturn Info\dwTotalPhys-Info\dwAvailPhys
EndProcedure

Verfasst: 09.12.2006 11:55
von Marvin
Und das ganze geht auch noch mit der Auslagerungsdatei, indem du ein "Phys" durch ein "PageFile" ersetzt (z.B. dwAvailPhys -> dwAvailPageFile).