Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Usos de la cpu (https://www.clubdelphi.com/foros/showthread.php?t=3840)

proyectocorba 22-09-2003 13:12:20

Usos de la cpu
 
Hola a todos!!!

Estoy haciendo un programilla y necesito saber los usos de la cpu, la memoria que estoy utilizando..etc (to lo q pone windows en rendimiento). La verdad es que creo q se hace con la api de windows pero no lo se exactamente. He estado mirando las funciones pero no encuentro ninguna relacionada. Si alguien me puede echar una mano.

Asias.

Investment 22-09-2003 13:35:54

Truco 154 de TRUCOMANIA:

INFORMACION DE RECURSOS DEL SISTEMA

-Pon un TMemo (Memo1) y un TButton (Button1) en tu form
-Pon éste código en el OnCLick de Button1:



procedure TForm1.Button1Click(Sender: TObject);
var
MemoryStatus: TMemoryStatus;

begin

Memo1.Lines.Clear;

MemoryStatus.dwLength := SizeOf(MemoryStatus);

GlobalMemoryStatus(MemoryStatus);

with MemoryStatus do
begin
{ Size of MemoryStatus record }
Memo1.Lines.Add(IntToStr(dwLength) +
' Size of ''MemoryStatus'' record');
{ Per-Cent of Memory in use by your system }
Memo1.Lines.Add(IntToStr(dwMemoryLoad) +
'% memory in use');
{The amount of Total Physical memory allocated to your system.}
Memo1.Lines.Add(IntToStr(dwTotalPhys) +
' Total Physical Memory in bytes');
{ The amount available of physical memory in your system. }
Memo1.Lines.Add(IntToStr(dwAvailPhys) +
' Available Physical Memory in bytes');
{ The amount of Total Bytes allocated to your page file }
Memo1.Lines.Add(IntToStr(dwTotalPageFile) +
' Total Bytes of Paging File');
{ The amount of available bytes in your page file }
Memo1.Lines.Add(IntToStr(dwAvailPageFile) +
' Available bytes in paging file');
{ The amount of Total bytes allocated to this program
(generally 2 gigabytes of virtual space) }
Memo1.Lines.Add(IntToStr(dwTotalVirtual) +
' User Bytes of Address space');
{ The amount of avalable bytes that is left to your program to use }
Memo1.Lines.Add(IntToStr(dwAvailVirtual) +
' Available User bytes of address space');
end;
end;

proyectocorba 22-09-2003 14:17:01

Gracias Investment por contestarme tan rapido. Voy a probarlo ahora mismo a ver si funciona. Lo quiero hacer en C, pero me imagino que las funciones seran las mismas.

Asias.

delphi.com.ar 22-09-2003 16:20:05

La función GlobalMemoryStatus es una WinApi que va a tener la misma funcionalidad sobre cualquier lenguaje windows en que se la utilice.

Saludos!

proyectocorba 22-09-2003 17:48:04

Gracias a los dos!!!:D

Ya he terminado la funcion y aunque he tenido que hacer los arreglillos para pasarlo a C, la idea es la misma.

Asias.

proyectocorba 22-09-2003 19:13:54

He estado viendo la funcion y me he dado cuenta que esta todo relacionado con la memoria pero no puedo poner cosas como uso de la cpu o recursos libres, etc. No hay otra funcion que indique esta serie de cosas?

Asias,

Lmas 23-09-2003 13:43:05

Hola.

En http://www.torry.net/samples_hard.htm puedes encontrar en un ejemplo del uso de la CPU en AdCPUUsage, o por lo menos eso parece indicar el nombre del archivo ;).

SalU2

DarkByte 16-06-2004 13:33:00

Perdon por rehabilitar este hilo, pero estoy haciendo lo que quería hacer nuestro amigo Andrés, la colección de los hilos, y pensé que estaría mejor que estubiese el código identado.

Código Delphi [-]
//-Pon un TMemo (Memo1) y un TButton (Button1) en tu form
//-Pon éste código en el OnCLick de Button1:
 
procedure TForm1.Button1Click(Sender: TObject);
 var 
   MemoryStatus: TMemoryStatus;
 
 begin 
 
   Memo1.Lines.Clear;
 
   MemoryStatus.dwLength := SizeOf(MemoryStatus);
 
   GlobalMemoryStatus(MemoryStatus);
 
   with MemoryStatus do 
   begin 
     { Size of MemoryStatus record }
     Memo1.Lines.Add(IntToStr(dwLength) +
       ' Size of ''MemoryStatus'' record');
     { Per-Cent of Memory in use by your system }
     Memo1.Lines.Add(IntToStr(dwMemoryLoad) +
       '% memory in use');
     {The amount of Total Physical memory allocated to your system.}
     Memo1.Lines.Add(IntToStr(dwTotalPhys) +
       ' Total Physical Memory in bytes');
     { The amount available of physical memory in your system. }
     Memo1.Lines.Add(IntToStr(dwAvailPhys) +
       ' Available Physical Memory in bytes');
     { The amount of Total Bytes allocated to your page file }
     Memo1.Lines.Add(IntToStr(dwTotalPageFile) +
       ' Total Bytes of Paging File');
     { The amount of available bytes in your page file }
     Memo1.Lines.Add(IntToStr(dwAvailPageFile) +
       ' Available bytes in paging file');
     { The amount of Total bytes allocated to this program
        (generally 2 gigabytes of virtual space) }
     Memo1.Lines.Add(IntToStr(dwTotalVirtual) +
       ' User Bytes of Address space');
     { The amount of avalable bytes that is left to your program to use }
     Memo1.Lines.Add(IntToStr(dwAvailVirtual) +
       ' Available User bytes of address space');
   end; 
 end;

jeansalas19 03-11-2006 06:58:29

:confused: y no hay ninguno de estos q se pueda hacer en Java, esq necesito hacer un programa q me este informando de la memoria q usa mi programa en la RAM me preguntaba si alguien sabia... grxx :o ojala me respondan!


La franja horaria es GMT +2. Ahora son las 03:09:11.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi