GlobalMemoryStatus读4G的内存,返回值只有2G??? ( 积分: 40 )

  • 主题发起人 主题发起人 smiledayly
  • 开始时间 开始时间
S

smiledayly

Unregistered / Unconfirmed
GUEST, unregistred user!
GlobalMemoryStatus函数来读内存的大小时最大只能读到2G内存,看了一下原因是Delphi中windows.pas中的GlobalMemoryStatus函数的Status.dwTotalPhys等是DWord,也就是32位的,能不能将其改也int64呢,而这个函是 kernel32.dll中的,如果改了这个dll什么不会支持?如何是好!
 
GlobalMemoryStatus函数来读内存的大小时最大只能读到2G内存,看了一下原因是Delphi中windows.pas中的GlobalMemoryStatus函数的Status.dwTotalPhys等是DWord,也就是32位的,能不能将其改也int64呢,而这个函是 kernel32.dll中的,如果改了这个dll什么不会支持?如何是好!
 
有没有其它函数能读出4G的内存??????
 
没人知道??????还是分太少了!要分可以先跟你打个欠条,以后开贴还你,呵呵......
 
这是32位windows的限制,请阅读windows编程方面的书籍。如果真的需要4G的内存,请考虑64位的windows系统。
 
建议你去看Jeffery Richter的windows核心编程,里面讲的非常清楚。
 
GlobalMemoryStatusEx
 
GlobalMemoryStatusEx
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
916
SUNSTONE的Delphi笔记
S
后退
顶部