Example #1
0
        void updateTotalMemBar()
        {
            if (this.InvokeRequired)
            {
                safeupdateTotalMemBar d = new safeupdateTotalMemBar(updateTotalMemBar);
                this.Invoke(d, new object[] { });
            }
            else
            {
                memorystatus.MemoryInfo.GlobalMemoryStatus(ref memInfoStatus);

                //max is 32!
                uint uTotal = memInfoStatus.dwTotalPhys; //is scaled by 1000000 in updateBar!
                uint uAvail = memInfoStatus.dwAvailPhys; //scale by 1000000

                int maxWidth    = (int)uTotal / 1000000;
                int scaleFactor = 0;
                while (maxWidth > panels[0].Width)
                {  //we need to scale this down or we get 0 result
                    //System.Diagnostics.Debugger.Break();
                    maxWidth = (int)((float)(maxWidth / 10f));
                    scaleFactor++;
                }
                panels[0].Maximum = maxWidth;

                uint newVal = uAvail;
                if (scaleFactor > 0)
                {
                    newVal = (uint)(uAvail / (scaleFactor * 10));
                }

                updateBar(0, "total " + uAvail / 1000000 + "/" + uTotal / 1000000, (int)newVal);
            }
        }
Example #2
0
        void updateTotalMemBar()
        {
            if (this.InvokeRequired)
            {
                safeupdateTotalMemBar d = new safeupdateTotalMemBar(updateTotalMemBar);
                this.Invoke(d, new object[] { });
            }
            else
            {
                memorystatus.MemoryInfo.GlobalMemoryStatus(ref memInfoStatus);

                //max is 32!
                uint uTotal = memInfoStatus.dwTotalPhys;         //is scaled by 1000000 in updateBar!
                uint uAvail = memInfoStatus.dwAvailPhys; //scale by 1000000

                int maxWidth = (int)uTotal / 1000000;
                int scaleFactor = 0;
                while (maxWidth > panels[0].Width)
                {  //we need to scale this down or we get 0 result
                    //System.Diagnostics.Debugger.Break();
                    maxWidth = (int)((float)(maxWidth / 10f));
                    scaleFactor++;
                }
                panels[0].Maximum = maxWidth;

                uint newVal = uAvail;
                if (scaleFactor > 0)
                    newVal = (uint)(uAvail / (scaleFactor * 10));

                updateBar(0, "total " + uAvail / 1000000 + "/" + uTotal / 1000000, (int)newVal);
            }
        }