Это небольшая часть моей программы, в которой моей программе нужно запустить программу из DataGridView (Content Clicked Event), и она просто прекрасно выполняет эту программу, но не может закрыть ее, потому что некоторые из входящих программ не имеют такой же имя процесса как имя файла. Я тоже пытался получить processid, но он выдает следующую ошибку (не могли бы вы предоставить мне рабочий код, потому что я могу получить идентификатор моего процесса winform, но как я могу получить processid запущенного извне приложения из моей программы.
я попробовал это выдает следующую ошибку
Произошло необработанное исключение типа «System.ArgumentException» в System.dll
Дополнительная информация: Процесс с идентификатором 16924 не запущен.) "
код, в котором я получаю идентификатор процесса, но не удается, находится ниже
private void button1_Click(object sender, EventArgs e)
{
var processid = Process.Start("Calc");
pn =processid.ProcessName;
pid = processid.Id;
}
int pid;
String pn;
private void button2_Click(object sender, EventArgs e)
{
var process1 = Process.GetProcessById(pid);
process1.Kill();
}
Пустой код ниже.
Я уже пробовал:
private void button1_Click(object sender, EventArgs e)
{
Process.Start("Calc");
}
private void button2_Click(object sender, EventArgs e)
{
foreach (var process in Process.GetProcessesByName("Calc"))
{
process.Kill();
}
}
Мой код:
private void button1_Click(object sender, EventArgs e)
{
Process.Start("THIS PATH WILL COME FROM DATABASE");
}
private void button2_Click(object sender, EventArgs e)
{
foreach (var process in Process.GetProcessesByName("PROCESS NAME WHICH MY PROGRAM STARTED"))
{
process.Kill();
}
}