Determining free memory using the System plugin

From NSIS Wiki
Revision as of 12:07, 24 June 2005 by ConversionBot (talk | contribs) (Adding new author and category links.)
Jump to navigationJump to search
Author: sunjammer (talk, contrib)


Description

KiCHiK came up with this NSIS code to check free RAM using the System plugin (original forum posting)

The Function

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
DetailPrint "Structure size (useless): $2 Bytes"
DetailPrint "Memory load: $3%"
DetailPrint "Total physical memory: $4 Bytes"
DetailPrint "Free physical memory: $5 Bytes"
DetailPrint "Total page file: $6 Bytes"
DetailPrint "Free page file: $7 Bytes"
DetailPrint "Total virtual: $8 Bytes"
DetailPrint "Free virtual: $9 Bytes"