From 3193a5d7e9deb451a78ea1292a9444abfc7e2c9d Mon Sep 17 00:00:00 2001 From: Ged Murphy Date: Mon, 2 Oct 2006 18:51:31 +0000 Subject: [PATCH] - display system RAM on the general page. - fixes bug 1835 svn path=/trunk/; revision=24366 --- reactos/dll/cpl/sysdm/general.c | 28 ++++++++++++++++++++++++---- reactos/dll/cpl/sysdm/precomp.h | 3 +++ 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/reactos/dll/cpl/sysdm/general.c b/reactos/dll/cpl/sysdm/general.c index 26e56081f9c..229e9ccf131 100644 --- a/reactos/dll/cpl/sysdm/general.c +++ b/reactos/dll/cpl/sysdm/general.c @@ -70,12 +70,32 @@ InitImageInfo(PIMGINFO ImgInfo) } -DWORD WINAPI +static VOID GetSystemInformation(HWND hwnd) { - UNREFERENCED_PARAMETER(hwnd); + MEMORYSTATUS MemStat; + TCHAR Buf[32]; + INT Ret = 0; - return 0; + /* Get total physical RAM */ + MemStat.dwLength = sizeof(MemStat); + GlobalMemoryStatus(&MemStat); + + if (MemStat.dwTotalPhys < KB_DIV) + Ret = wsprintf(Buf, _T("%luKB of RAM"), MemStat.dwTotalPhys/1024); + else if (MemStat.dwTotalPhys >= KB_DIV && MemStat.dwTotalPhys < GB_DIV) + Ret = wsprintf(Buf, _T("%luMB of RAM"), MemStat.dwTotalPhys/1048576); + else if (MemStat.dwTotalPhys > GB_DIV) + Ret = wsprintf(Buf, _T("%luGB of RAM"), MemStat.dwTotalPhys/1073741824); + + if (Ret) + { + SendDlgItemMessage(hwnd, + IDC_SYSTEMMEMORY, + WM_SETTEXT, + 0, + (LPARAM)Buf); + } } @@ -97,7 +117,7 @@ GeneralPageProc(HWND hwndDlg, { HWND hLink = GetDlgItem(hwndDlg, IDC_ROSHOMEPAGE_LINK); - TextToLink(hLink, + TextToLink(hLink, _T("http://www.reactos.org"), NULL); diff --git a/reactos/dll/cpl/sysdm/precomp.h b/reactos/dll/cpl/sysdm/precomp.h index 9a8762c4a95..d5696eb58c3 100644 --- a/reactos/dll/cpl/sysdm/precomp.h +++ b/reactos/dll/cpl/sysdm/precomp.h @@ -11,6 +11,9 @@ #include "resource.h" #define NUM_APPLETS (1) +#define KB_DIV 1024 +#define MB_DIV 1048576 +#define GB_DIV 1.0737e9 typedef LONG (CALLBACK *APPLET_INITPROC)(VOID);