В основном я пытаюсь создать программу, которая будет запускать и закрывать .bat-файл. Мне удалось запустить его, чтобы запустить файл bat, однако я не могу понять, как заставить его закрыть файл .bat.C# не удалось убить процесс
Вот код класса:
using System;
using System.Diagnostics;
using System.Threading;
using System.ComponentModel;
namespace Launcher
{
class MyProcess
{
public static void LaunchProcess()
{
Process myProcess = new Process();
try
{
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.FileName = "C:\example.bat";
myProcess.StartInfo.CreateNoWindow = true;
myProcess.Start();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
}
Я знаю, что, чтобы убить процесс, который я должен был бы использовать myProcess.Kill();
однако я не уверен, как добавить его в код, как если бы я должен был повторно называем «launchprocess», то myProcess будет перезаписана
Просто небольшое примечание: '' C: \ example.bat ", возможно, потребуется изменить на' 'C: \\ example.bat '' – Ian
Это запустит Cmd.exe для запуска .bat-файла. Поэтому запустите cmd.exe самостоятельно, и вы можете его убить, используйте «/ c example.bat» для аргумента. Этого недостаточно, чтобы * также * обеспечить, чтобы вы убили любые процессы, запущенные файлом .bat. Трудно сделать надежно, вам нужно будет использовать объект задания или полагаться на опцию taskkill/t. –