如何知道WINDOWS 98下内存和硬盘块(Block)的大小? (100分)

  • 主题发起人 主题发起人 pp_yy
  • 开始时间 开始时间
内存好象有个 GetAvailableMemory, 不记得了,
 
是指PAGE大小吗?如4096byte?
 
是不是 簇?肯定不是 page,

to o*o:
Page 是什么意思?
 
fat32是4k,fat16看容量,不过就算知道也没有用
 
看了下面这段程序,你的问题应该没有了吧!
procedure TForm1.Button1Click(Sender: TObject);
var
memory: MEMORYSTATUS;
sector, byte, cluster, free: DWORD;
freespace, totalspace: longint;

begin
Memo1.Lines.Clear();

//获得内存状态
memory.dwLength := sizeof(memory); //初始化
GlobalMemoryStatus(memory);
Memo1.Lines.Add('您的物理内存是(' + inttostr(integer(memory.dwTotalPhys div 1024 div 1024)) + 'MB)。');
Memo1.Lines.Add('其中可用内存是(' + inttostr(integer(memory.dwTotalPhys div 1024)) + 'KB)。');

//获得C盘可用空间
GetDiskFreeSpace('C:', LPDWORD(@sector)^, LPDWORD(@byte)^, LPDWORD(@free)^, LPDWORD(@cluster)^); //获得返回参数
totalspace := cluster * byte * sector div 1024 div 1024; //计算总容量
freespace := free * byte * sector div 1024 div 1024; //计算可用空间
Memo1.Lines.Add('C盘总空间(' + inttostr(integer(totalspace)) + 'MB)。');
Memo1.Lines.Add('C盘可用空间(' + inttostr(integer(freespace)) + 'MB)。');

end;
 
多人接受答案了。
 
后退
顶部