Forum

Пожалуйста or Регистрация для создания сообщений и тем.

Автоочистка при достижении %

Page 1 of 3Next

Всем привет, задался вопросом как сделать автоочитску при достижении процента, вот картинка, подскажите пожалуйста как это можно реализовать, может кто-то это уже делал.

Привет 🖐
Не очень понятно, о какой конкретно очистке идёт речь.
Но так или иначе, обычно просто занятое делим на общее и умножаем на 100 ➜ получаем процент занятого от общего.

Удаленный пользователь и Удаленный пользователь отреагировали на эту запись.
Удаленный пользовательУдаленный пользователь

Очистка оперативной памяти, пытался в интернете найти но увы.
Я пытался вот так.
public ulong TotalRam() => new ComputerInfo().TotalPhysicalMemory;
public ulong FreeRam() => new ComputerInfo().AvailablePhysicalMemory;
ulong num;
num = (TotalRam() - FreeRam()) * 100 / TotalRam();
Но у меня не чего не получилось(.

Спасибо Хачатур, напряг извилины и нашел решение 🧠👍

Ошибся, все равно не работает, попробовал так показалось заработало, но это был обработчик СкопированоCheckedChanged , что то я растерялся 😞

if (поистечению5toolStripMenuItem1.Checked)
{
    ManagementObjectSearcher ramMonitor = new ManagementObjectSearcher("SELECT TotalVisibleMemorySize,FreePhysicalMemory FROM Win32_OperatingSystem");
    foreach (ManagementObject objram in ramMonitor.Get())
    {
        ulong totalRam = Convert.ToUInt64(objram["TotalVisibleMemorySize"]);
        ulong busyRam = totalRam - Convert.ToUInt64(objram["FreePhysicalMemory"]);
        if (busyRam * 100 / totalRam >= 20)
        {
            if (worksettoolStripMenuItem9.Checked)
            {
                MemoryClean.EmptyWorkingSet();
            }
        }
    }
}

 

Добрый день. Твой код работает как надо, возможно, Твои проверки Скопировано.Checked не дают запустится нужному Тебе методу

Данный код выводит такое же значение, что и трей-виджет Win 10 Tweaker

foreach (var RAM in new ManagementObjectSearcher("SELECT TotalVisibleMemorySize,FreePhysicalMemory FROM Win32_OperatingSystem").Get()) {

    ulong
        totalRAM = Convert.ToUInt64(RAM["TotalVisibleMemorySize"]),
        busyRAM = totalRAM - Convert.ToUInt64(RAM["FreePhysicalMemory"]);

    MessageBox.Show((busyRAM * 100 / totalRAM).ToString());
}

Удаленный пользователь отреагировал на эту запись.
Удаленный пользователь

Привет, у меня все эти .СкопированоChecked стоят ))
Я хотел как в Win 10 Tweakere сделать при достижении 30, 40 процентов занятой оперативной памяти.

Ты на правильном пути, однако не понятно, в чем именно проблема. Твоя проверка на СкопированоbusyRam * 100 / totalRam >= 20 работает замечательно...
Самое очевидное здесь искать проблемную строчку дебагом или например, MessageBox(ом)

Удаленный пользователь отреагировал на эту запись.
Удаленный пользователь

Скажи пожалуйста ты в проекте попробовал? и как ты пробовал?

Вот так

Удаленный пользователь отреагировал на эту запись.
Удаленный пользователь
Page 1 of 3Next