Как открыть окно cmd и заставить его задачу уничтожить процесс по идентификатору процесса в C #? - PullRequest
0 голосов
/ 21 мая 2018

Вот что у меня есть:

string processID = ID_numbers.Text;

        Process process = new Process();
        process.StartInfo.FileName = "cmd.exe";
        process.StartInfo.CreateNoWindow = true;
        process.StartInfo.RedirectStandardInput = true;
        process.StartInfo.RedirectStandardOutput = true;
        process.StartInfo.UseShellExecute = false;
        process.Start();
        process.StandardInput.WriteLine(string.Format("taskkill /I {0} /F"), processID);
        process.StandardInput.Flush();
        process.StandardInput.Close();
        process.WaitForExit();

, и я получаю эту ошибку:

System.FormatException:'Индекс (на основе нуля) должен быть больше или равен нулю и меньше размера списка аргументов.'

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

process.StandardInput.WriteLine (string.Intern ("taskkill / IM {0} / F"), processID);

0 голосов
/ 21 мая 2018

Измените

process.StandardInput.WriteLine(string.Format("taskkill /I {0} /F"), processID);

на

process.StandardInput.WriteLine(string.Format("taskkill /I {0} /F", processID));

или я считаю, что вы можете просто сделать это:

process.StandardInput.WriteLine("taskkill /I {0} /F", processID);

Вы пропустили аргумент в string.Format.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...