delphi 获取大于2G的物理内存大小
来源:互联网 发布:商品查询软件 编辑:程序博客网 时间:2024/05/16 06:25
一般情况下,我们是用GlobalMemoryStatus 来获取物理内存大小的 但该API在物理内存大小超过2G的时候,返回值均为2GB。因此,没有办法获取真实的物理内存大小,所以需要对此进行改进。
定义TMemoryStatusEx结构:
Type TMemoryStatusEx = packed record dwLength: DWORD; dwMemoryLoad: DWORD; ullTotalPhys: Int64; ullAvailPhys: Int64; ullTotalPageFile: Int64; ullAvailPageFile: Int64; ullTotalVirtual: Int64; ullAvailVirtual: Int64; ullAvailExtendedVirtual: Int64; end;Function GlobalMemoryStatusEx(var lpBuffer: TMemoryStatusEx): BOOL; stdcall; external kernel32; MemoryStatusEx.dwLength := SizeOf(MemoryStatusEx); GlobalMemoryStatusEx(MemoryStatusEx);Memo2.Lines.Add(FormatFloat('#,###', ullTotalPhys) ); //如果真实内存超过4G 会显示真实内存 上限为3.5G。 当然 如果机器为64位会真实显示。
说明:以上环境针对32位操作系统 如果您的操作系统是64位 不会有以上问题
- delphi 获取大于2G的物理内存大小
- windows API获取物理内存大于4G的方法
- stat获取大于2G的文件
- fseek获取大于4G的文件大小的问题
- fseek获取大于4G的文件大小的问题
- aix 创建大于2g的文件系统
- 减少delphi的程序使用的内存大小
- mini2440 uboot中大文件系统(大于内存大小)的烧写
- 获取手机内存大小的方法
- 获取指针 指向的内存大小
- lucene索引文件大于2G的处理情况
- linux下如何解压大于2G的zip文件
- C语言操作大于2G的文件
- 关于fseek不能定位大于2G文件的问题
- linux下如何解压大于2G的zip文件
- C语言操作大于2G的文件
- 得到系统物理内存大小
- 获取内存大小
- 第一个博客文章,第一个专业开发人员的工作。
- 监听浏览器关闭按钮点击事件 -- 使用JS
- 请求帮助
- VC++中各种数据类型的默认值
- SendKeys.Send()的使用
- delphi 获取大于2G的物理内存大小
- VB6中ComboBox控件的缺陷及改进
- 史上最强的绕口令
- 如何将infocenter部署成Web结构(Eclipse Help System)
- 【原创】垂直无缝滚动图片(兼容性好)实例教程
- 记忆游戏
- Android Building System 分析
- bin、nb0的区别
- Linux查找文件的相关命令