procedure TForm1.FormCreate(Sender: TObject);
var MemInfo: MEMORYSTATUS;
begin
  // 获取内存信息
  GlobalMemoryStatus(MemInfo);
  MemSize:=memInfo.dwTotalPhys div 1048576;
end;
我的内存大小为256M,为什么我程序得到的物理内存只有255M

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
     MS: TMemoryStatus;
    begin
     MS.dwLength := SizeOf(TMemoryStatus);
     GlobalMemoryStatus(MS);
     Label1.Caption := FormatFloat('#,###" KB"', MS.dwTotalPhys div 1024);
    end ;这个和你的程序一样,只是单位不一样。在我256内存上显示的是261608KB,windows的计算机的关于里也给的这个数字。
    255=261608/1024。
    大概是计算的方法不一样不吧,就象硬盘标称的容量和显示的容量不一样。
      

  2.   

    to kuki84(天道酬勤)
    哈哈,我的是261616 比你的多少8K :)
    结贴