Как читать условие с txt файла
Это то, что находится в txt
processName == "taskhost" || processName == "services"
|| processName == "svchost" || processName == "csrss"
|| processName == "idle" || processName == "powershell"
|| processName == "System" || processName == "webview2"
|| processName == "rundll32" || processName == "Rtk"
|| processName == "Gamebar" || processName == "RuntimeBroker"
Вот так выглядит код, хочу чтобы юзер мог сам добавлять в txt свои процессы, то есть вместо
private bool IsSystemProcess(Process process)
{
string processName = process.ProcessName;
// Добавьте сюда другие системные процессы, которые нужно исключить
if (processName == "taskhost" || processName == "services"
|| processName == "svchost" || processName == "csrss"
|| processName == "idle" || processName == "powershell"
|| processName == "System" || processName == "webview2"
|| processName == "rundll32" || processName == "Rtk"
|| processName == "Gamebar" || processName == "RuntimeBroker")
{
return true; // Процесс является запрещенным
}
return false;
}
было типо этого if('Текстовый документ')
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
Советую попробовать JSON.
using System.Text.Json;
Берём массив, например такой
string[] processNames = new[] { "taskhost", "services", "svchost", "csrss" };
Сериализуем в файл
File.WriteAllText("file.json", JsonSerializer.Serialize(processNames));
Получаем файл с таким содержимым
["taskhost","services","svchost","csrss"]
Далее файл можно загрузить
string text = File.ReadAllText("file.json");
string[] names = JsonSerializer.Deserialize<string[]>(text);
Теперь ваш метод можно упростить до такого
private bool IsSystemProcess(Process process)
{
string text = File.ReadAllText("file.json");
string[] names = JsonSerializer.Deserialize<string[]>(text);
string processName = process.ProcessName;
return names.Contains(processName);
// или так
// return Array.IndexOf(names, processName) >= 0;
}
Теперь, если хотите, можете в файл руками дописывать список, когда угодно, в кавычках через запятую.
Кстати, JSON можно сохранить с форматированием
var options = new JsonSerializerOptions { WriteIndented = true };
File.WriteAllText("file.json", JsonSerializer.Serialize(processNames, options));
Тогда файл получится такой
[
"taskhost",
"services",
"svchost",
"csrss"
]
Вместо массива можно использовать список List<string>
, например, если вы хотите добавлять или удалять элементы прямо в коде, работать с JSON оно будет точно так же.