procedure TMainForm.UpdateMemoryStatus(Sender: TObject; var Done: Boolean);
var
  MemoryStatus: TMemoryStatus;
begin
  GlobalMemoryStatus(MemoryStatus);
  FreeMemory.Caption := Format('Free Memory: %%%.1f',
    [100. * MemoryStatus.dwAvailPhys / MemoryStatus.dwTotalPhys]);
  FreeMemory.Update;
end;

解决方案 »

  1.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      ComCtrls, CommCtrl, StdCtrls, Menus,WinSpool, ExtCtrls, Validat, Buttons,
      Registry;type
      TForm1 = class(TForm)
        Button1: TButton;
        Label1: TLabel;
        Label2: TLabel;
        Timer1: TTimer;
        Button2: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure Timer1Timer(Sender: TObject);
      private
        { Private-Deklarationen }
        started : boolean;
        reg : TRegistry;
      public
        { Public-Deklarationen }
      end;var
      Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
      var
      Dummy : array[0..1024] of byte;begin
      Reg:=TRegistry.Create;
      Reg.RootKey:=HKEY_DYN_DATA;     //统计数据在这个表项下
      Reg.OpenKey('PerfStats\StartStat',false);       //   Reg.ReadBinaryData('KERNEL\CPUUsage',Dummy,Sizeof(Dummy));
      Reg.CloseKey;
      started:=true;
    end;procedure TForm1.Timer1Timer(Sender: TObject);
      var
      CPUU : integer;begin
      if started then
      begin
        Reg.OpenKey('PerfStats\StatData',false);       
        Reg.ReadBinaryData('KERNEL\CPUUsage',CPUU,SizeOf(Integer));
        Reg.CloseKey;
        Label1.Caption:=IntToStr(CPUU)+'%';
      end;
    end;procedure TForm1.Button2Click(Sender: TObject);
      var
      Dummy : array[0..1024] of byte;begin
    'PerfStats/StopStat' }
      Reg.OpenKey('PerfStats\StopStat',false);      
      Reg.ReadBinaryData('KERNEL\CPUUsage',Dummy,SizeOf(Dummy));
      Reg.Free;
      Started:=false;
    end;end.
      

  2.   

    mrzho(mrzhou)提到的应该是内存占用率,而不是CPU的!!!!
      

  3.   

    用PDH是对。。你要动态刷新比如说用定时器
      

  4.   

    楼主兄弟,不好意思,上次让你白给分了,我以前只用过查内存的,没有查过CPU的,所以我不知道该用什么函数,不好意思!