moClay
@moClay
учусь всему

Как закрыть экземпляр проводника через его pid?

В задании сказано открывать проводники по клавише K и закрыть все открытые проводники клавишей x. У меня получилось закрывать их по названию программы (explorer.exe), но вместе с этим система перезагружалась. По pid совсем не получается закрывать открытые проводники

List ids = new List();
for (int i =0; i<5; i++)
{
Word = Console.ReadLine();
Word_to_2 = StringToBinary(Word);

switch (Word_to_2)
{
case "01001011":
Process p = Process.Start("explorer.exe");
ids.Add(p.Id);
break;
case "01010110":
Console.WriteLine("Введите путь");
Path = Console.ReadLine();
break;
case "01000010":
Console.WriteLine("Введите название файла");
File_name = Console.ReadLine();
FileStream fileStream = File.Create(Path + File_name);
StreamWriter output = new StreamWriter(fileStream);
output.Close();
break;
case "01101110":
File.Delete(Path + File_name);
break;
case "01111000":

foreach (var e in ids)
{
Process pp = Process.GetProcessById(e);
pp.Kill();
}
break;
}
}
}
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ответы на вопрос 2
vesper-bot
@vesper-bot
Любитель файрволлов
Открываешь проводники как дочерние процессы, запоминаешь их PID'ы, потом прибиваешь когда надо. Функцию, как процесс по PID получить, выше написали.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы