Вот чистка логов (нормальная)
Приступим (язык C#)
Создаём Windows Forms
Кидаем 2 кнопки, 1 лейбл, 2 таймера
Первую кнопку называем (Чистка Game.log)
Вторую кнопку называем (Чистка LogBackups)
Текст лейбла можно не трогать
Первому таймеру ставим Enabled true (запускается при запуске формы)
Нам понадобится пространство имён System.Management
Его необходимо подключить
В самом верху удалим все пространства имён (using) и напишем эти
Код
using System.Windows.Forms;
using System;
using System.Diagnostics;
using System.Security.Principal;
using System.Management;
using System.IO;
Идём дальше на первый таймер кидаем такой код
Код
Process[] aProcesses = Process.GetProcessesByName("Game");
if (aProcesses.Length != 0)
{
button1.Enabled = true;
button2.Enabled = true;
timer2.Start();
}
else
{
label1.Text = "Жду игру";
button1.Enabled = false;
button2.Enabled = false;
}
Таким кодом мы проверим существует ли процесс игры, если да, то запустим следующий таймер, если нет, то кнопки не активны и лейбл пишет "Жду игру"
Далее на второй таймер пишем
Код
string processName = "Game.exe";
string currentUser = WindowsIdentity.GetCurrent().Name.Split('\\')[1];
string query = "Select * from Win32_Process Where Name = \"" + processName + "\"";
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
ManagementObjectCollection processes = searcher.Get();
foreach (ManagementObject proc in processes)
{
string owner;
string[] argList = new string[] { string.Empty };
int returnVal = Convert.ToInt32(proc.InvokeMethod("GetOwner", argList));
if (returnVal == 0)
owner = argList[0];
else
continue;
if (owner != currentUser)
continue;
string path = proc["ExecutablePath"].ToString();
label1.Text = (path); //тут мы уже получили полный путь до процесса игры
label1.Text = label1.Text.Substring(0, label1.Text.Length - 21); //удаляем 21 символ с конца то есть удаляем Bin32Release/Game.exe
}
timer2.Stop();
Теперь при запуске игры, лейбл будет писать путь до корня warface
Теперь на первую кнопку пишем
Код
if (File.Exists(label1.Text + "Game.log"))
{
File.Delete(label1.Text + "Game.log");
MessageBox.Show("Почистил", "Готово", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show("Уже удалён", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
На вторую пишем
Код
if (Directory.Exists(label1.Text + "LogBackups"))
{
Directory.Delete(label1.Text + "LogBackups", true);
Directory.CreateDirectory(label1.Text + "LogBackups");
MessageBox.Show("Почистил", "Готово", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show("Там уже чисто", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information);
}