1. This source is largely uncommented. I wasn't expecting to release it
2. Please, if you make something with this, give me credit. The readme in the ZIP applies to the DLL and it's source.
3. Please do not copy this and turn it into a DLL and then have the audacity to claim it as your own.
Credits: cdm319 (me), Roach (for teaching me C++), Porfirio (for helping me with C++ when I started)
Source:
#define export extern "C" __declspec (dllexport) // contained in header file, but so you know how to export
#include "dll.h" // this is replaced by your default dll header file, which includes the above code
#include "windows.h"
export double cdm_ram_percent()
{
MEMORYSTATUS pt1;
MEMORYSTATUS *pt2;
double rampercent;
pt1.dwLength = sizeof(MEMORYSTATUS);
pt2 = &pt1;
GlobalMemoryStatus(pt2);
rampercent = pt1.dwMemoryLoad;
return rampercent;
}
export double cdm_ram_total()
{
MEMORYSTATUS pt1;
MEMORYSTATUS *pt2;
double ramtotal;
pt1.dwLength = sizeof(MEMORYSTATUS);
pt2 = &pt1;
GlobalMemoryStatus(pt2);
ramtotal = pt1.dwTotalPhys;
return ramtotal;
}
export double cdm_ram_avail()
{
MEMORYSTATUS pt1;
MEMORYSTATUS *pt2;
double ramavail;
pt1.dwLength = sizeof(MEMORYSTATUS);
pt2 = &pt1;
GlobalMemoryStatus(pt2);
ramavail = pt1.dwAvailPhys;
return ramavail;
}
export double cdm_page_total()
{
MEMORYSTATUS pt1;
MEMORYSTATUS *pt2;
double pagetotal;
pt1.dwLength = sizeof(MEMORYSTATUS);
pt2 = &pt1;
GlobalMemoryStatus(pt2);
pagetotal = pt1.dwTotalPageFile;
return pagetotal;
}
export double cdm_page_avail()
{
MEMORYSTATUS pt1;
MEMORYSTATUS *pt2;
double pageavail;
pt1.dwLength = sizeof(MEMORYSTATUS);
pt2 = &pt1;
GlobalMemoryStatus(pt2);
pageavail = pt1.dwAvailPageFile;
return pageavail;
}
export double cdm_virtual_total()
{
MEMORYSTATUS pt1;
MEMORYSTATUS *pt2;
double virtotal;
pt1.dwLength = sizeof(MEMORYSTATUS);
pt2 = &pt1;
GlobalMemoryStatus(pt2);
virtotal = pt1.dwTotalVirtual;
return virtotal;
}
export double cdm_virtual_avail()
{
MEMORYSTATUS pt1;
MEMORYSTATUS *pt2;
double viravail;
pt1.dwLength = sizeof(MEMORYSTATUS);
pt2 = &pt1;
GlobalMemoryStatus(pt2);
viravail = pt1.dwAvailVirtual;
return viravail;
}
Link:
cdmMemory DLL
Happy coding
Edited by cdm319, 13 April 2007 - 11:35 AM.











