Bueno este truco esta basado en un ejemplo del libro Delphi 5. Lo he modificado un poco.
Código:
program RAM;
{$APPTYPE CONSOLE}
uses
SysUtils,
Windows;
const
SMemUse ='%d%%';
STotMem = '$%.8x bytes';
SFreeMem = '$%.8x bytes';
STotPage = '$%.8x bytes';
SFreePage = '$%.8x bytes';
STotVirt = '$%.8x bytes';
SFreeVirt = '$%.8x bytes';
var
MS: TMemoryStatus;
MemoryLoad, TotalPhys, AvailPhys, TotalPageFile, AvailPageFile, TotalVirtual, AvailVirtual: string;
begin
MS.dwLength:=sizeof(MS);
GlobalMemoryStatus(MS);
with MS do begin
MemoryLoad:=(Format(SMemUse, [dwMemoryLoad]));
TotalPhys:=(Format(STotMem, [dwTotalPhys]));
AvailPhys:=(Format(SFreeMem, [dwAvailPhys]));
TotalPageFile:=(Format(STotPage, [dwTotalPageFile]));
AvailPageFile:=(Format(SFreePage, [dwAvailPageFile]));
TotalVirtual:=(Format(StotVirt, [dwTotalVirtual]));
AvailVirtual:=(FoRMAT(SFreeVirt, [dwAvailVirtual]));
end;
Writeln('Analisis de la Memoria RAM v.-1.0');
Writeln('');
Writeln('---------------------------------');
Writeln('');
Writeln('Porcentaje de Memoria RAM en uso >> ' + MemoryLoad);
Writeln('Total de Memoria RAM >> ' + TotalPhys);
Writeln('Memoria RAM libre >> ' +AvailPhys);
Writeln('Numero de archivos de pagina en el disco duro >> ' +TotalPageFile);
Writeln('Numero de bytes disponible >> ' + AvailPageFile);
Writeln('Total de Memoria Virtual >> ' +TotalVirtual);
Writeln('Memoria Virutal libre >> ' +AvailVirtual);
Writeln('');
Writeln('');
Writeln('');
Writeln('Pulsa "enter" para terminar...');
Readln;
end.
Espero que les sea de utilidad.
Salu2