Talk:Determining free memory using the System plugin: Difference between revisions
From NSIS Wiki
Jump to navigationJump to search
No edit summary |
No edit summary |
||
Line 20: | Line 20: | ||
-------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ||
gives this: | gives this: | ||
Line 32: | Line 30: | ||
Thanks! | Thanks! | ||
---- | |||
The forum thread told you to use the system plugin and its Int64Op |
Revision as of 08:08, 12 February 2008
What baout 64 bit windows?
on 64bit The following code :
System::Alloc 32
Pop $1 System::Call "Kernel32::GlobalMemoryStatus(i) v (r1)" System::Call "*$1(&i4 .r2, &i4 .r3, &i4 .r4, &i4 .r5, &i4 .r6, &i4.r7, &i4 .r8, &i4 .r9)" System::Free $1 ; $5 => Free RAM ; $4 => Total RAM IntOp $R5 $5 / 1048576 ; 1048576 = 1024*1024, or MegaX IntOp $R4 $4 / 1048576 ; 1048576 = 1024*1024, or MegaX MessageBox MB_OK "R5: $R5 5: $5 R4: $R4 4: $4"
gives this: R5: -813 5: -852815872 R4: -256 4: -269082624
the real total memory is: 3.75GB of RAM
How do I make this work for a 64 bit system? if pissible hoe to make one coade to work for both 64bit and 32bit?
Thanks!
The forum thread told you to use the system plugin and its Int64Op