如何得到物理内存大小,比如我的机子是512,就要得到512,用API查询有时候会不准确。

taxi 2008-03-24 02:30:32
如何得到物理内存大小,比如我的机子是512,就要得到512,用API查询有时候会不准确。
...全文
267 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
testcase 2008-05-01
  • 打赏
  • 举报
回复
jf
UltraBejing 2008-05-01
  • 打赏
  • 举报
回复
都是很好的建议! 值得学习
taxi 2008-03-25
  • 打赏
  • 举报
回复
有时候内存会被显存共享一部分,这时候查出来不是实际的物理内存总数。
mantti 2008-03-25
  • 打赏
  • 举报
回复
API查出来的是包括随机存储器(RAM),只读存储器(ROM),以及高速缓存(CACHE)等加起来的容量,而你只想得到RAM的容量吧,其实ROM以及Cache都不是很大,你控制一下显示的格式就可以了,比如1028070421byte你就让它显示1G不就可以了吗
taxi 2008-03-25
  • 打赏
  • 举报
回复
就是因为碰到这个问题,我才发贴问的。
oushengfen 2008-03-25
  • 打赏
  • 举报
回复
To taxi

9楼的方法不行,那你有行的方法不
taxi 2008-03-25
  • 打赏
  • 举报
回复
9楼的方法不行,查出来的不一定是准确的。
kaikai_kk 2008-03-25
  • 打赏
  • 举报
回复
看看,学习一下
XY.Chen 2008-03-25
  • 打赏
  • 举报
回复
参考下面的代码试试看。。。

procedure TForm1.Button1Click(Sender: TObject);
var
MemInfo: MEMORYSTATUS;
begin
GlobalMemoryStatus(MemInfo);
Memo1.Lines.Add(IntToStr(MemInfo.dwMemoryLoad) + '%的内存在使用');
Memo1.Lines.Add('物理内存共有' + IntToStr(MemInfo.dwTotalPhys) + '字节');
Memo1.Lines.Add('未使用的物理内存有' + IntToStr(MemInfo.dwAvailPhys) + '字节');
Memo1.Lines.Add('交换文件的大小为' + IntToStr(MemInfo.dwTotalPageFile) + '字节');
Memo1.Lines.Add('未使用的交换文件大小为' + IntToStr(MemInfo.dwAvailPageFile) + '字节');
Memo1.Lines.Add('虚拟内存空间大小为' + IntToStr(MemInfo.dwTotalVirtual) + '字节');
Memo1.Lines.Add('未使用的虚拟内存大小为' + IntToStr(MemInfo.dwAvailVirtual) + '字节');
end;
taxi 2008-03-25
  • 打赏
  • 举报
回复
关键是要怎么做。
Mr-Chen 2008-03-25
  • 打赏
  • 举报
回复
使用WMI试试
zzlingaaa 2008-03-24
  • 打赏
  • 举报
回复
读bios应该可以吧
散乱心绪 2008-03-24
  • 打赏
  • 举报
回复
关注....
ydlchina 2008-03-24
  • 打赏
  • 举报
回复
关注
taxi 2008-03-24
  • 打赏
  • 举报
回复
有没有完全得到呢,包括被显卡占用的那一部分。
forbearORfolie 2008-03-24
  • 打赏
  • 举报
回复
1楼正解
hthunter 2008-03-24
  • 打赏
  • 举报
回复
把所有内存拆下来,根据标签计算一下,应该就准确了吧?
hongqi162 2008-03-24
  • 打赏
  • 举报
回复
不是独立显卡吧,少的那部分划到显存里了

829

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧