在Windows 7上使用Delphi 2010安装超过4 GB的内存时,有没有办法获得总内存和可用内存?
此代码的返回值不超过3.99 GB:
var
Memory: TMemoryStatus;
Memory.dwLength := SizeOf( Memory );
GlobalMemoryStatus( Memory );
dwTotalPhys1.Caption := 'Total memory: ' + IntToStr( Memory.dwTotalPhys ) + ' Bytes ' + '(' + FormatByteSize
( Memory.dwTotalPhys ) + ')';
dwAvailPhys1.Caption := 'Available memory: ' + IntToStr( Memory.dwAvailPhys ) + ' Bytes ' + FormatByteSize
( Memory.dwAvailPhys ) + ')';
Run Code Online (Sandbox Code Playgroud)
xan*_*tos 15
您需要使用GlobalMemoryStatusEx.GlobalMemoryStatus仅限4gb
我不知道它是否已经在Delphi中定义了它的结构TMemoryStatusEx与否(它将基于Windows API 的MEMORYSTATUSEX.)
你必须要看的领域是ullTotalPhys和ullAvailPhys.它们是64位无符号整数.
我忘记了,它只受Windows> = 2000支持,但这不应该是一个问题了.
| 归档时间: |
|
| 查看次数: |
7433 次 |
| 最近记录: |