Найти процесс, который жрет больше памяти - C#
Формулировка задачи:
При помощи вроде что-то записывает, но что и как с этим работать я хз(((((((((((
CreateToolhelp32Snapshot
Немогу разобраться что передавать в параметрах + методичка для obj паскаля Буду рад любой помощи, но прошу помочь кодом Пока есть вот это:[DllImport("kernel32", SetLastError = true, CharSet = System.Runtime.InteropServices.CharSet.Auto)] public static extern IntPtr CreateToolhelp32Snapshot(uint flags, uint processid); [DllImport("kernel32", SetLastError = true, CharSet = System.Runtime.InteropServices.CharSet.Auto)] static extern bool Process32First([In]IntPtr hSnapshot, ref PROCESSENTRY32 lppe); [DllImport("kernel32", SetLastError = true, CharSet = System.Runtime.InteropServices.CharSet.Auto)] static extern bool Process32Next([In]IntPtr hSnapshot, ref PROCESSENTRY32 lppe); IntPtr handle; static void Main(string[] args) { handle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); Console.ReadLine();
Решение задачи: «Найти процесс, который жрет больше памяти»
textual
Листинг программы
static void Main() { long maxMemory = 0; IntPtr handleToSnapshot = IntPtr.Zero; string procName = string.Empty; try { PROCESSENTRY32 procEntry = new PROCESSENTRY32(); procEntry.dwSize = (UInt32)Marshal.SizeOf(typeof(PROCESSENTRY32)); handleToSnapshot = CreateToolhelp32Snapshot((uint)SnapshotFlags.Process, 0); if (Process32First(handleToSnapshot, ref procEntry)) { do { Process pr = Process.GetProcessById((int)procEntry.th32ProcessID); // Console.WriteLine("Proc.name: {0} physical memory usage: {1}", pr.ProcessName, pr.WorkingSet64); if (pr.WorkingSet64 > maxMemory) { maxMemory = pr.WorkingSet64; procName = pr.ProcessName; } }while (Process32Next(handleToSnapshot, ref procEntry)); Console.WriteLine("Proc.name: {0}, Physical memory usage: {1}", procName, maxMemory ); } else { throw new ApplicationException(string.Format("Failed with win32 error code {0}", Marshal.GetLastWin32Error())); } } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { CloseHandle(handleToSnapshot); } Console.ReadKey(true); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д