Ejemplo n.º 1
0
 public static void GetMemoryStatus(out Int32 dwAvailPhys, out Int32 dwTotalPhys)
 {
     MEMORYSTATUS ms = new MEMORYSTATUS();
     ms.dwLength = Marshal.SizeOf(ms);
     GlobalMemoryStatus(ref ms);
     dwAvailPhys = ms.dwAvailPhys;
     dwTotalPhys = ms.dwTotalPhys;
 }
Ejemplo n.º 2
0
 /// <summary>
 /// get total avail phys bytes
 /// </summary>
 /// <returns></returns>
 public static UInt32 getTotalPhys()
 {
     UInt32 tvm = 0;
     MEMORYSTATUS ms=new MEMORYSTATUS();
     ms.dwLength=(uint)Marshal.SizeOf(typeof(MEMORYSTATUS));
     if (GetMemoryStatus(ref ms))
         tvm = ms.dwTotalPhys;
     return tvm;
 }
Ejemplo n.º 3
0
  }//public static void Stub()

  ///<summary>MemoryStatus()</summary>
  public static void MemoryStatus()
  {
   MEMORYSTATUS memoryStatus = new MEMORYSTATUS();
   GlobalMemoryStatus( ref memoryStatus );
   
   System.Console.WriteLine("dwLength: {0}", memoryStatus.dwLength);
   System.Console.WriteLine("dwMemoryLoad: {0}", memoryStatus.dwMemoryLoad);
   System.Console.WriteLine("dwTotalPhys: {0}", memoryStatus.dwTotalPhys);
   System.Console.WriteLine("dwAvailPhys: {0}", memoryStatus.dwAvailPhys);
   System.Console.WriteLine("dwTotalPageFile: {0}", memoryStatus.dwTotalPageFile);
   System.Console.WriteLine("dwAvailPageFile: {0}", memoryStatus.dwAvailPageFile);
   System.Console.WriteLine("dwTotalVirtual: {0}", memoryStatus.dwTotalVirtual);
   System.Console.WriteLine("dwAvailVirtual: {0}", memoryStatus.dwAvailVirtual);   
  }//MemoryStatus()	 
Ejemplo n.º 4
0
        /// <summary>
        /// 每隔一秒刷新内存使用率
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void timer1_Tick(object sender, EventArgs e)
        {
            /// 获取内存使用率
            MEMORYSTATUS MemInfo = new MEMORYSTATUS();

            GlobalMemoryStatus(ref MemInfo);
            int dwMemoryLoad = Convert.ToInt32(MemInfo.dwMemoryLoad);

            if (dwMemoryLoad != controlProgressBar4.Progress)
            {
                controlProgressBar4.Progress = Convert.ToInt32(MemInfo.dwMemoryLoad);
            }

            controlProgressBar1.Progress = ClassStatic.totalNumberOfUsers;
            controlProgressBar2.Progress = ClassStatic.totalNumberOfUsersOnline;
        }
        public uint GetPhysicalMemoryLoadPercent()
        {
            //UInt32 storePages = 0;
            //UInt32 ramPages = 0;
            //UInt32 pageSize = 0;
            //int res = GetSystemMemoryDivision(ref storePages,
            // ref ramPages, ref pageSize);

            // Call the native GlobalMemoryStatus method
            // with the defined structure.
            MEMORYSTATUS memStatus = new MEMORYSTATUS();

            GlobalMemoryStatus(ref memStatus);

            return(memStatus.dwMemoryLoad);
        }
Ejemplo n.º 6
0
 public static bool GetMemoryStatus(ref MEMORYSTATUS memStatus)
 {
     bool result = true;
     // Call the native GlobalMemoryStatus method
     // with the defined structure.
     memStatus.dwLength = (uint) Marshal.SizeOf(memStatus);// 32; // bytes
     try
     {
         GlobalMemoryStatus(ref memStatus);
     }
     catch
     {
         result = false;
     }
     return result;
 }
Ejemplo n.º 7
0
 // Methods
 public static string GetMemoryInfo()
 {
     uint lpdwStorePages = 0;
     uint lpdwRamPages = 0;
     uint lpdwPageSize = 0;
     GetSystemMemoryDivision(ref lpdwStorePages, ref lpdwRamPages, ref lpdwPageSize);
     MEMORYSTATUS lpBuffer = new MEMORYSTATUS();
     GlobalMemoryStatus(ref lpBuffer);
     StringBuilder builder = new StringBuilder();
     builder.Append("\r\nMemory Load: " + lpBuffer.dwMemoryLoad.ToString() + "\r\n");
     builder.Append("Total Physical Memory: " + lpBuffer.dwTotalPhys.ToString() + "\r\n");
     builder.Append("Avail Physical Memory: " + lpBuffer.dwAvailPhys.ToString() + "\r\n");
     builder.Append("Total Virtual Memory: " + lpBuffer.dwTotalVirtual.ToString() + "\r\n");
     builder.Append("Avail Virtual Memory: " + lpBuffer.dwAvailVirtual.ToString());
     return builder.ToString();
 }
Ejemplo n.º 8
0
 /// <summary>
 /// Gets the global memory status information for the device.
 /// </summary>
 /// <param name="total"></param>
 /// <param name="free"></param>
 public void GetMemoryStatus(out uint total, out uint free)
 {
     try
     {
         var mem = new MEMORYSTATUS();
         mem.dwLength = (uint)Marshal.SizeOf(mem);
         GlobalMemoryStatus(ref mem);
         total = mem.dwTotalPhys;
         free  = mem.dwAvailPhys;
     }
     catch (Exception)
     {
         total = 0;
         free  = 0;
     }
 }
Ejemplo n.º 9
0
            public static string dumpMSI(MEMORYSTATUS _ms)
            {
                StringBuilder sb = new StringBuilder();
                sb.Append("MEMORYSTATUS info" + "\r\n");
                sb.Append("dwTotalPhys: " + _ms.dwTotalPhys.ToString()+"\r\n");
                sb.Append("dwAvailPhys: " + _ms.dwAvailPhys.ToString() + "\r\n");

                sb.Append("dwTotalVirtual: " + _ms.dwTotalVirtual.ToString() + "\r\n");
                sb.Append("dwAvailVirtual: " + _ms.dwAvailVirtual.ToString() + "\r\n");

                sb.Append("dwTotalPageFile: " + _ms.dwTotalPageFile.ToString() + "\r\n");
                sb.Append("dwAvailPageFile: " + _ms.dwAvailPageFile.ToString() + "\r\n");

                sb.Append("dwMemoryLoad: " + _ms.dwMemoryLoad.ToString() + "\r\n");

                return sb.ToString();
            }
Ejemplo n.º 10
0
            public static bool GetMemoryStatus(ref MEMORYSTATUS memStatus)
            {
                bool result = true;

                // Call the native GlobalMemoryStatus method
                // with the defined structure.
                memStatus.dwLength = (uint)Marshal.SizeOf(memStatus); // 32; // bytes
                try
                {
                    GlobalMemoryStatus(ref memStatus);
                }
                catch
                {
                    result = false;
                }
                return(result);
            }
Ejemplo n.º 11
0
 private void Refresh()
 {
     if (isOldOS)
     {
         memoryStatus = new MEMORYSTATUS();
         GlobalMemoryStatus(ref memoryStatus);
     }
     else
     {
         memoryStatusEx = new MEMORYSTATUSEX();
         memoryStatusEx.Init();
         if (!GlobalMemoryStatusEx(ref memoryStatusEx))
         {
             throw new Win32Exception("Could not obtain memory information due to internal error.");
         }
     }
 }
Ejemplo n.º 12
0
        public static bool FreeVirtualMemoryIfNeeded(int needed)
        {
            bool result = true;

            MEMORYSTATUS memStatus = new MEMORYSTATUS();

            GlobalMemoryStatus(ref memStatus);

            if (memStatus.dwTotalVirtual < needed)
            {
                if (SHCloseApps(needed) != 0)
                {
                    result = false;
                }
            }
            return(result);
        }
Ejemplo n.º 13
0
            public static string dumpMSI(MEMORYSTATUS _ms)
            {
                StringBuilder sb = new StringBuilder();

                sb.Append("MEMORYSTATUS info" + "\r\n");
                sb.Append("dwTotalPhys: " + _ms.dwTotalPhys.ToString() + "\r\n");
                sb.Append("dwAvailPhys: " + _ms.dwAvailPhys.ToString() + "\r\n");

                sb.Append("dwTotalVirtual: " + _ms.dwTotalVirtual.ToString() + "\r\n");
                sb.Append("dwAvailVirtual: " + _ms.dwAvailVirtual.ToString() + "\r\n");

                sb.Append("dwTotalPageFile: " + _ms.dwTotalPageFile.ToString() + "\r\n");
                sb.Append("dwAvailPageFile: " + _ms.dwAvailPageFile.ToString() + "\r\n");

                sb.Append("dwMemoryLoad: " + _ms.dwMemoryLoad.ToString() + "\r\n");

                return(sb.ToString());
            }
Ejemplo n.º 14
0
    private void Refresh()
    {
        try
        {
            if (_monoTotalMemoryCounter != null && _monoAvailableMemoryCounter != null)
            {
                _totalPhysicalMemory     = (ulong)_monoTotalMemoryCounter.NextValue();
                _availablePhysicalMemory = (ulong)_monoAvailableMemoryCounter.NextValue();
            }
            else if (Environment.OSVersion.Version.Major < 5)
            {
                var memoryStatus = MEMORYSTATUS.Init();
                GlobalMemoryStatus(ref memoryStatus);

                if (memoryStatus.dwTotalPhys > 0)
                {
                    _availablePhysicalMemory = memoryStatus.dwAvailPhys;
                    _totalPhysicalMemory     = memoryStatus.dwTotalPhys;
                }
                else if (_netAvailableMemoryCounter != null)
                {
                    _availablePhysicalMemory = (ulong)_netAvailableMemoryCounter.NextValue();
                }
            }
            else
            {
                var memoryStatusEx = MEMORYSTATUSEX.Init();

                if (GlobalMemoryStatusEx(ref memoryStatusEx))
                {
                    _availablePhysicalMemory = memoryStatusEx.ullAvailPhys;
                    _totalPhysicalMemory     = memoryStatusEx.ullTotalPhys;
                }
                else if (_netAvailableMemoryCounter != null)
                {
                    _availablePhysicalMemory = (ulong)_netAvailableMemoryCounter.NextValue();
                }
            }
        }
        catch
        {
            // ignored
        }
    }
Ejemplo n.º 15
0
  }//MemoryStatus()	 

  ///<summary>FreeProgramMemory()</summary>
  public static bool FreeProgramMemory
  (
   int memSought
  )
  {                 
   bool result = true;
   MEMORYSTATUS memStatus = new MEMORYSTATUS();
   GlobalMemoryStatus( ref memStatus );
   //check if we're out of memory first
   if( memStatus.dwAvailPhys < memSought )
   {
    if (SHCloseApps(memSought)!= 0)
    {
     result = false;
    } 
   }//if( memStatus.dwAvailPhys < memSought )

   return result;
  }//public bool FreeProgramMemory( int memSought )
Ejemplo n.º 16
0
        // Methods
        public static string GetMemoryInfo()
        {
            uint lpdwStorePages = 0;
            uint lpdwRamPages   = 0;
            uint lpdwPageSize   = 0;

            GetSystemMemoryDivision(ref lpdwStorePages, ref lpdwRamPages, ref lpdwPageSize);
            MEMORYSTATUS lpBuffer = new MEMORYSTATUS();

            GlobalMemoryStatus(ref lpBuffer);
            StringBuilder builder = new StringBuilder();

            builder.Append("\r\nMemory Load: " + lpBuffer.dwMemoryLoad.ToString() + "\r\n");
            builder.Append("Total Physical Memory: " + lpBuffer.dwTotalPhys.ToString() + "\r\n");
            builder.Append("Avail Physical Memory: " + lpBuffer.dwAvailPhys.ToString() + "\r\n");
            builder.Append("Total Virtual Memory: " + lpBuffer.dwTotalVirtual.ToString() + "\r\n");
            builder.Append("Avail Virtual Memory: " + lpBuffer.dwAvailVirtual.ToString());
            return(builder.ToString());
        }
Ejemplo n.º 17
0
        /// <summary>
        /// This function tries to free up memory for an application. If necessary, the shell closes down other applications by sending WM_CLOSE messages.
        /// </summary>
        /// <remarks>If a large memory allocation fails in your application, call SHCloseApps and attempt to allocate memory again.</remarks>
        /// <param name="needed">Specifies, in kilobytes, the amount of memory to be freed</param>
        /// <returns>This function returns TRUE if it is successful and FALSE if it fail</returns>
        public static bool FreeProgramMemoryIfNeeded(int needed)
        {
            bool result = true;
            needed *= 1024;

            MEMORYSTATUS memStatus = new MEMORYSTATUS();
            GlobalMemoryStatus(ref memStatus);

            if (memStatus.dwAvailPhys < needed)
            {
                if (SHCloseApps(needed) != 0)
                {
                    //result = false;
                    System.Threading.Thread.Sleep(1000);
                    result = SHCloseApps(needed) == 0;
                }
            }
            return result;
        }
Ejemplo n.º 18
0
        /// <summary>
        /// This function tries to free up memory for an application. If necessary, the shell closes down other applications by sending WM_CLOSE messages.
        /// </summary>
        /// <remarks>If a large memory allocation fails in your application, call SHCloseApps and attempt to allocate memory again.</remarks>
        /// <param name="needed">Specifies, in kilobytes, the amount of memory to be freed</param>
        /// <returns>This function returns TRUE if it is successful and FALSE if it fail</returns>
        public static bool FreeProgramMemoryIfNeeded(int needed)
        {
            bool result = true;

            needed *= 1024;

            MEMORYSTATUS memStatus = new MEMORYSTATUS();

            GlobalMemoryStatus(ref memStatus);

            if (memStatus.dwAvailPhys < needed)
            {
                if (SHCloseApps(needed) != 0)
                {
                    //result = false;
                    System.Threading.Thread.Sleep(1000);
                    result = SHCloseApps(needed) == 0;
                }
            }
            return(result);
        }
Ejemplo n.º 19
0
        public int availCPUCore(int usedBytePerImage)
        {
            int num     = 0;
            int cpuCore = 0;

            cpuCore = Environment.ProcessorCount;
            if (cpuCore <= 0)
            {
                SYSTEM_INFO pSI = new SYSTEM_INFO();
                GetSystemInfo(ref pSI);
                cpuCore = (int)pSI.dwNumberOfProcessors;
            }

            if (cpuCore <= 0)
            {
                cpuCore = getCpuCores();
            }

            MEMORYSTATUS memSt = new MEMORYSTATUS();

            GlobalMemoryStatus(ref memSt);
            int availMem = (int)memSt.dwAvailPhys;

            if (cpuCore * usedBytePerImage < availMem)
            {
                num = cpuCore;
            }
            else
            {
                for (int i = cpuCore - 1; i > 0; i--)
                {
                    if (i * usedBytePerImage < availMem)
                    {
                        num = i;
                        break;
                    }
                }
            }
            return(num);
        }
Ejemplo n.º 20
0
 void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
 {
     MEMORYSTATUS status = new MEMORYSTATUS();
     GlobalMemoryStatus(status);
     int mem = (int)status.totalPhys;
     byte[] src = null;
     bool bContinue = true;
     do
     {
         try
         {
             src = new byte[mem];
             int len = src.Length;
             while (true && bLoop)
             {
                 len--;
                 if (len <= 0)
                     return;
                 src[len] = 0;
             }
             bContinue = false;
         }
         catch (OutOfMemoryException)
         {
             mem = (int)((double)mem * 0.99);
         }
     } while (bContinue);
     backgroundWorker1.ReportProgress(10);
     if (backgroundWorker2 != null)
         if (backgroundWorker2.IsBusy)
             backgroundWorker2.CancelAsync();
     src = null; // free resources instancely
     GC.Collect();
     GC.GetTotalMemory(false);
     GC.Collect();
 }
Ejemplo n.º 21
0
        void tmrMain_Tick(object sender, EventArgs e)
        {
            ulong memusage = 0;
            try
            {
                PerformanceCounter statusBarCounter = new PerformanceCounter("Memory", "Available MBytes");
                memusage = ((((new ComputerInfo().TotalPhysicalMemory) / 1024) / 1024) - (ulong)statusBarCounter.NextValue());
            }
            catch
            {
            }

            lblMemoryUsage.Text = memusage + " MB";

            if (chtMemory.Series[0].Points.Count >= 39)
            {
                chtMemory.Series[0].Points.RemoveAt(0);
            }

            chtMemory.Series[0].Points.Add(memusage);

            CalcCPUUsage();
            totalRam = Convert.ToInt32(memusage) + CalcFreeRAM();
            lblMemoryTotal.Text = totalRam.ToString() + " MB";

            chtMemory.ChartAreas[0].AxisY.Maximum = totalRam;
            chtMemory.ChartAreas[0].AxisY.Minimum = 0;
            chtMemory.ChartAreas[0].AxisX.Maximum = 39;

            if (track == false)
            {
                trackBarMemoryAmount.Maximum = totalRam - 94;
                trackBarMemoryAmount.Value = trackBarMemoryAmount.Maximum;
                track = true;
            }

            if (!ProcessExited)
            {
                if (prsMain.HasExited)
                {
                    if (File.Exists(Optexe))
                        prsMain_Exited(prsMain, e);
                }
                else
                {
                    prbMemory.PerformStep();
                    if (prbMemory.Value >= prbMemory.Maximum)
                    {
                        try
                        {
                            prsMain.Kill();
                        }
                        catch
                        {
                        }
                        prsMain_Exited(prsMain, e);
                    }
                }
            }

            if (Visible) return;
            if (!W1Done) return;
            if ((DateTime.Now.Subtract(LastAuto)).Minutes < 5) return;

            MEMORYSTATUS stats = new MEMORYSTATUS();
            GlobalMemoryStatus(stats);

            if (!(nudOptimizeIfMemory.Value != 0 && stats.availPhys / Math.Pow(1024, 2) <= (double)nudOptimizeIfMemory.Value)
             || (nudIncreaseMemory.Value == 0) || !(nudOptimizeIfCPU.Value == 0 || CPUUsage < (int)nudOptimizeIfCPU.Value))
            {
                return;
            }

            // run resource
            if (ProcessExited)
            {
                if (RunMemOpti(null))
                {
                    ProcessExited = false;
                    prbMemory.Step = 5;
                    prbMemory.Value = 0;
                    LastAuto = DateTime.Now;
                }
            }

            if (!ProcessExited) return; //??

            prbMemory.Step = 10;
            prbMemory.Value = 0;
            Trackbar = (int)nudIncreaseMemory.Value;

            if (bgwMemory != null)
            {
                bgwMemory.Dispose();
                bgwMemory = null;
            }
            if (bgwCounter != null)
            {
                bgwCounter.Dispose();
                bgwCounter = null;
            }

            bgwMemory = new BackgroundWorker { WorkerReportsProgress = true, WorkerSupportsCancellation = false };
            bgwMemory.ProgressChanged += bgwMemory_ProgressChanged;
            bgwMemory.DoWork += bgwMemory_DoWork;
            bgwMemory.RunWorkerCompleted += bgwMemory_RunWorkerCompleted;

            bgwCounter = new BackgroundWorker();
            bgwCounter.DoWork += bgwCounter_DoWork;

            W1Done = false;
            Silent = true;
            LastAuto = DateTime.Now;
            bgwMemory.RunWorkerAsync();
            bgwCounter.RunWorkerAsync();
        }
Ejemplo n.º 22
0
 static extern void GlobalMemoryStatus(ref MEMORYSTATUS buf);
Ejemplo n.º 23
0
 static extern void GlobalMemoryStatus(ref MEMORYSTATUS ms);
Ejemplo n.º 24
0
 public static extern void GlobalMemoryStatus(out MEMORYSTATUS buffer);
Ejemplo n.º 25
0
 public static extern void CeGlobalMemoryStatus(ref MEMORYSTATUS lpmst);
Ejemplo n.º 26
0
        public int availCPUCore(string filename)
        {
            int num     = 0;
            int cpuCore = 0;

            cpuCore = Environment.ProcessorCount;

            //ManagementClass c = new ManagementClass(new ManagementPath("Win32_Processor"));
            //// Get the properties in the class
            //ManagementObjectCollection moc = c.GetInstances();
            //if (moc.Count > 0)
            //{
            //    cpuCore = moc.Count;
            //}
            //else
            if (cpuCore <= 0)
            {
                SYSTEM_INFO pSI = new SYSTEM_INFO();
                GetSystemInfo(ref pSI);
                cpuCore = (int)pSI.dwNumberOfProcessors;
            }

            if (cpuCore <= 0)
            {
                cpuCore = getCpuCores();
            }
            MEMORYSTATUS memSt = new MEMORYSTATUS();

            GlobalMemoryStatus(ref memSt);
            long availMem = (long)memSt.dwAvailPhys;

            Bitmap curBitmap = (Bitmap)Image.FromFile(filename);

            GlobalMemoryStatus(ref memSt);
            long availMemUsed     = (long)memSt.dwAvailPhys;
            long usedBytePerImage = availMem - availMemUsed;
            long usedByte         = curBitmap.Width * curBitmap.Height * 3;

            if (usedBytePerImage < usedByte)
            {
                usedBytePerImage = Convert.ToInt64(usedByte * 1.05);
            }

            curBitmap.Dispose();
            GC.Collect();

            GlobalMemoryStatus(ref memSt);
            availMem = (long)memSt.dwAvailPhys;

            //if (Convert.ToInt32(usedBytePerImage / 1024 / 1024) >= 100)
            //    cpuCore = 1;

            // 每张照片在 读入过程中, 其可能使用的内存为其本身所占内存大小的 8 位左右
            // 故以 8 倍来检测可能并行的 核心数
            if (cpuCore * (usedBytePerImage / 1024) * 10 < availMem / 1024)
            {
                num = cpuCore;
            }
            else
            {
                for (int i = cpuCore - 1; i > 0; i--)
                {
                    if (i * (usedBytePerImage / 1024) * 10 < availMem / 1024)
                    {
                        num = i;
                        break;
                    }
                }
            }
            if (num == 0)
            {
                num = 8;
            }
            return(num);
        }
Ejemplo n.º 27
0
		public uint GetAppVirtualMemoryLoadPercent()
		{
			MEMORYSTATUS memStatus = new MEMORYSTATUS();
			GlobalMemoryStatus(ref memStatus);
			return memStatus.dwAvailVirtual / memStatus.dwTotalVirtual;
		}
Ejemplo n.º 28
0
        public static int GetMemoryLoad()
        {
            MEMORYSTATUS memStatus = new MEMORYSTATUS();
            GlobalMemoryStatus(ref memStatus);

            return memStatus.dwMemoryLoad;
        }
Ejemplo n.º 29
0
        public static bool FreeVirtualMemoryIfNeeded(int needed)
        {
            bool result = true;

            MEMORYSTATUS memStatus = new MEMORYSTATUS();
            GlobalMemoryStatus(ref memStatus);

            if (memStatus.dwTotalVirtual < needed)
            {
                if (SHCloseApps(needed) != 0)
                    result = false;
            }
            return result;
        }
Ejemplo n.º 30
0
 private static extern void GlobalMemoryStatus([In, Out] MEMORYSTATUS lpBuffer);
Ejemplo n.º 31
0
 public static extern bool GlobalMemoryStatus(ref MEMORYSTATUS lpBuffer);
Ejemplo n.º 32
0
        /// <summary>
        /// Log the systeminformation at the beginning of the logile
        /// </summary>
        private void LogHeader()
        {
            // System info
            SYSTEM_INFO pSI = new SYSTEM_INFO();
            GetSystemInfo(ref pSI);
            string CPUType;
            switch (pSI.dwProcessorType)
            {
                case PROCESSOR_INTEL_386:
                    CPUType = "Intel 386";
                    break;
                case PROCESSOR_INTEL_486:
                    CPUType = "Intel 486";
                    break;
                case PROCESSOR_INTEL_PENTIUM:
                    CPUType = "Intel Pentium";
                    break;
                case PROCESSOR_MIPS_R4000:
                    CPUType = "MIPS R4000";
                    break;
                case PROCESSOR_ALPHA_21064:
                    CPUType = "DEC Alpha 21064";
                    break;
                default:
                    CPUType = "(unknown)";
                    break;
            }

            MEMORYSTATUS memSt = new MEMORYSTATUS();
            GlobalMemoryStatus(ref memSt);

            if (USE_LOG4NET)
            {
                boxLog.Info("Pandora's Box - Log");
                boxLog.InfoFormat("Pandora version {0}", Pandora.Version);
                boxLog.Info("");
                boxLog.Info(DateTime.Now.ToString());
                boxLog.Info("Windows version: " + Environment.OSVersion.Version.ToString());
                boxLog.Info("Processor family: " + CPUType);

                boxLog.Info("Physical memory: " + (memSt.dwTotalPhys / 1024).ToString());
                boxLog.Info("");
            }
            else
            {
                m_Stream.WriteLine("Pandora's Box - Log");
                m_Stream.WriteLine(string.Format("Pandora version {0}", Pandora.Version));
                m_Stream.WriteLine("");
                m_Stream.WriteLine(DateTime.Now.ToString());
                m_Stream.WriteLine("Windows version: " + Environment.OSVersion.Version.ToString());

                
                m_Stream.WriteLine("Processor family: " + CPUType);

                
                m_Stream.WriteLine("Physical memory: " + (memSt.dwTotalPhys / 1024).ToString());
                m_Stream.WriteLine();
            }
        }
Ejemplo n.º 33
0
 internal static extern bool GlobalMemoryStatus(MEMORYSTATUS buffer);
Ejemplo n.º 34
0
 float EXT.IStatusProvider.NextValue()
 {
     MEMORYSTATUS status = new MEMORYSTATUS();
      GlobalMemoryStatus(status);
      return (float)status.dwMemoryLoad;
 }
Ejemplo n.º 35
0
        private void GetInfo()
        {
            cpuListView.Items.Clear();

            cpuListView.SuspendLayout();
            cpuListView.BeginUpdate();

            try
            {
                ManagementObjectCollection mbsList = null;
                ManagementObjectSearcher   mbs     = new ManagementObjectSearcher("Select * From Win32_processor");
                mbsList = mbs.Get();
                foreach (ManagementObject mo in mbsList)
                {
                    AddItemToList("Processor ID", mo["ProcessorID"].ToString());
                }

                ManagementObject dsk = new ManagementObject(@"win32_logicaldisk.deviceid=""c:""");
                dsk.Get();
                AddItemToList("Hard Drive ID", dsk["VolumeSerialNumber"].ToString());

                ManagementObjectSearcher   mos = new ManagementObjectSearcher("SELECT * FROM Win32_BaseBoard");
                ManagementObjectCollection moc = mos.Get();
                foreach (ManagementObject mo in moc)
                {
                    AddItemToList("MotherboardID", mo["SerialNumber"].ToString());
                }

                SYSTEM_INFO pSI = new SYSTEM_INFO();
                GetSystemInfo(ref pSI);
                string CPUType;
                switch (pSI.dwProcessorType)
                {
                case PROCESSOR_INTEL_386:
                    CPUType = "Intel 386";
                    break;

                case PROCESSOR_INTEL_486:
                    CPUType = "Intel 486";
                    break;

                case PROCESSOR_INTEL_PENTIUM:
                    CPUType = "Intel Pentium";
                    break;

                case PROCESSOR_MIPS_R4000:
                    CPUType = "MIPS R4000";
                    break;

                case PROCESSOR_ALPHA_21064:
                    CPUType = "DEC Alpha 21064";
                    break;

                default:
                    CPUType = pSI.dwProcessorType.ToString();
                    break;
                }
                AddItemToList("Active Processor Mask", pSI.dwActiveProcessorMask.ToString());
                AddItemToList("Allocation Granularity", pSI.dwAllocationGranularity.ToString());
                AddItemToList("Number Of Processors", pSI.dwNumberOfProcessors.ToString());
                AddItemToList("OEM ID", pSI.dwOemId.ToString());
                AddItemToList("Page Size", pSI.dwPageSize.ToString());
                // Processor Level (Req filtering to get level)
                AddItemToList("Processor Level Value", pSI.dwProcessorLevel.ToString());
                AddItemToList("Processor Revision", pSI.dwProcessorRevision.ToString());
                AddItemToList("CPU type", CPUType);
                AddItemToList("Minimum Application Address", pSI.lpMinimumApplicationAddress.ToString());
                AddItemToList("Maximum Application Address", pSI.lpMaximumApplicationAddress.ToString());

                /**************	To retrive info from GlobalMemoryStatus ****************/

                MEMORYSTATUS memSt = new MEMORYSTATUS();
                GlobalMemoryStatus(ref memSt);

                AddItemToList("Available Page File", (memSt.dwAvailPageFile / 1024).ToString());
                AddItemToList("Available Physical Memory", (memSt.dwAvailPhys / 1024).ToString());
                AddItemToList("Available Virtual Memory", (memSt.dwAvailVirtual / 1024).ToString());
                AddItemToList("Size of structure", memSt.dwLength.ToString());
                AddItemToList("Memory In Use", memSt.dwMemoryLoad.ToString());
                AddItemToList("Total Page Size", (memSt.dwTotalPageFile / 1024).ToString());
                AddItemToList("Total Physical Memory", (memSt.dwTotalPhys / 1024).ToString());
                AddItemToList("Total Virtual Memory", (memSt.dwTotalVirtual / 1024).ToString());

                if (System.IntPtr.Size == 4)
                {
                    AddItemToList("Operating System", "32 bit");
                }
                else if (System.IntPtr.Size == 8)
                {
                    AddItemToList("Operating System", "64 bit");
                }
                else
                {
                    AddItemToList("Operating System", "Unknown");
                }
            }
            catch (Exception er)
            {
                MessageBox.Show(er.Message);
            }

            cpuListView.EndUpdate();
            cpuListView.ResumeLayout();
        }
Ejemplo n.º 36
0
        public static MEMORYSTATUS GetMemoryStatus()
        {
            MEMORYSTATUS memSt = new MEMORYSTATUS();

            return(memSt);
        }
Ejemplo n.º 37
0
 public static extern void GlobalMemoryStatus(MEMORYSTATUS lpBuffer);
Ejemplo n.º 38
0
		public uint GetPhysicalMemoryLoadPercent()
		{
			//UInt32 storePages = 0;
			//UInt32 ramPages = 0;
			//UInt32 pageSize = 0;
			//int res = GetSystemMemoryDivision(ref storePages, 
			// ref ramPages, ref pageSize);

			// Call the native GlobalMemoryStatus method
			// with the defined structure.
			MEMORYSTATUS memStatus = new MEMORYSTATUS();
			GlobalMemoryStatus(ref memStatus);

			return memStatus.dwMemoryLoad;
		}
Ejemplo n.º 39
0
 public static extern void GlobalMemoryStatus(ref MEMORYSTATUS stat);
Ejemplo n.º 40
0
        private void GetInfo()
        {
            cpuListView.Items.Clear();

            cpuListView.SuspendLayout();
            cpuListView.BeginUpdate();

            try
            {
                ManagementObjectCollection mbsList = null;
                ManagementObjectSearcher mbs = new ManagementObjectSearcher("Select * From Win32_processor");
                mbsList = mbs.Get();
                foreach (ManagementObject mo in mbsList)
                    AddItemToList("Processor ID", mo["ProcessorID"].ToString());

                ManagementObject dsk = new ManagementObject(@"win32_logicaldisk.deviceid=""c:""");
                dsk.Get();
                AddItemToList("Hard Drive ID", dsk["VolumeSerialNumber"].ToString());

                ManagementObjectSearcher mos = new ManagementObjectSearcher("SELECT * FROM Win32_BaseBoard");
                ManagementObjectCollection moc = mos.Get();
                foreach (ManagementObject mo in moc)
                    AddItemToList("MotherboardID", mo["SerialNumber"].ToString());

                SYSTEM_INFO pSI = new SYSTEM_INFO();
                GetSystemInfo(ref pSI);
                string CPUType;
                switch (pSI.dwProcessorType)
                {

                    case PROCESSOR_INTEL_386:
                        CPUType = "Intel 386";
                        break;
                    case PROCESSOR_INTEL_486:
                        CPUType = "Intel 486";
                        break;
                    case PROCESSOR_INTEL_PENTIUM:
                        CPUType = "Intel Pentium";
                        break;
                    case PROCESSOR_MIPS_R4000:
                        CPUType = "MIPS R4000";
                        break;
                    case PROCESSOR_ALPHA_21064:
                        CPUType = "DEC Alpha 21064";
                        break;
                    default:
                        CPUType = pSI.dwProcessorType.ToString();
                        break;
                }
                AddItemToList("Active Processor Mask", pSI.dwActiveProcessorMask.ToString());
                AddItemToList("Allocation Granularity", pSI.dwAllocationGranularity.ToString());
                AddItemToList("Number Of Processors", pSI.dwNumberOfProcessors.ToString());
                AddItemToList("OEM ID", pSI.dwOemId.ToString());
                AddItemToList("Page Size", pSI.dwPageSize.ToString());
                // Processor Level (Req filtering to get level)
                AddItemToList("Processor Level Value", pSI.dwProcessorLevel.ToString());
                AddItemToList("Processor Revision", pSI.dwProcessorRevision.ToString());
                AddItemToList("CPU type", CPUType);
                AddItemToList("Minimum Application Address", pSI.lpMinimumApplicationAddress.ToString());
                AddItemToList("Maximum Application Address", pSI.lpMaximumApplicationAddress.ToString());

                /**************	To retrive info from GlobalMemoryStatus ****************/

                MEMORYSTATUS memSt = new MEMORYSTATUS();
                GlobalMemoryStatus(ref memSt);

                AddItemToList("Available Page File", (memSt.dwAvailPageFile / 1024).ToString());
                AddItemToList("Available Physical Memory", (memSt.dwAvailPhys / 1024).ToString());
                AddItemToList("Available Virtual Memory", (memSt.dwAvailVirtual / 1024).ToString());
                AddItemToList("Size of structure", memSt.dwLength.ToString());
                AddItemToList("Memory In Use", memSt.dwMemoryLoad.ToString());
                AddItemToList("Total Page Size", (memSt.dwTotalPageFile / 1024).ToString());
                AddItemToList("Total Physical Memory", (memSt.dwTotalPhys / 1024).ToString());
                AddItemToList("Total Virtual Memory", (memSt.dwTotalVirtual / 1024).ToString());

                if (System.IntPtr.Size == 4)
                    AddItemToList("Operating System", "32 bit");
                else if (System.IntPtr.Size == 8)
                    AddItemToList("Operating System", "64 bit");
                else
                    AddItemToList("Operating System", "Unknown");
            }
            catch (Exception er)
            {
                MessageBox.Show(er.Message);
            }

            cpuListView.EndUpdate();
            cpuListView.ResumeLayout();
        }
Ejemplo n.º 41
0
 internal static extern bool GlobalMemoryStatus(MEMORYSTATUS buffer);
Ejemplo n.º 42
0
        /// <summary>
        ///     Log the systeminformation at the beginning of the logile
        /// </summary>
        private void LogHeader()
        {
            // System info
            var pSI = new SYSTEM_INFO();

            GetSystemInfo(ref pSI);
            string CPUType;

            switch (pSI.dwProcessorType)
            {
            case PROCESSOR_INTEL_386:
                CPUType = "Intel 386";
                break;

            case PROCESSOR_INTEL_486:
                CPUType = "Intel 486";
                break;

            case PROCESSOR_INTEL_PENTIUM:
                CPUType = "Intel Pentium";
                break;

            case PROCESSOR_MIPS_R4000:
                CPUType = "MIPS R4000";
                break;

            case PROCESSOR_ALPHA_21064:
                CPUType = "DEC Alpha 21064";
                break;

            default:
                CPUType = "(unknown)";
                break;
            }

            var memSt = new MEMORYSTATUS();

            GlobalMemoryStatus(ref memSt);

            if (USE_LOG4NET)
            {
                boxLog.Info("Pandora's Box - Log");
                boxLog.InfoFormat("Pandora version {0}", Pandora.Version);
                boxLog.Info("");
                boxLog.Info(DateTime.Now.ToString());
                boxLog.Info("Windows version: " + Environment.OSVersion.Version);
                boxLog.Info("Processor family: " + CPUType);

                boxLog.Info("Physical memory: " + (memSt.dwTotalPhys / 1024));
                boxLog.Info("");
            }
            else
            {
                m_Stream.WriteLine("Pandora's Box - Log");
                m_Stream.WriteLine("Pandora version {0}", Pandora.Version);
                m_Stream.WriteLine("");
                m_Stream.WriteLine(DateTime.Now.ToString());
                m_Stream.WriteLine("Windows version: " + Environment.OSVersion.Version);

                m_Stream.WriteLine("Processor family: " + CPUType);

                m_Stream.WriteLine("Physical memory: " + (memSt.dwTotalPhys / 1024));
                m_Stream.WriteLine();
            }
        }
Ejemplo n.º 43
0
 void GlobalMemoryStatus(ref MEMORYSTATUS lpBuffer);
Ejemplo n.º 44
0
 extern static void GlobalMemoryStatus(ref MEMORYSTATUS status);
 internal static extern void GlobalMemoryStatus(ref MEMORYSTATUS lpBuffer);
Ejemplo n.º 46
0
 public static extern void GlobalMemoryStatus(ref MEMORYSTATUS lpBuffer);