C ++ завершить процесс в оконных формах - PullRequest
0 голосов
/ 18 июля 2011

Я хочу создать приложение Windows Form и хочу завершить программу с ним

system("tskill process");

не работает и не вызывает bat-файл, выполняющий эту операцию

Я думаю, что мне нужно использовать TerminateProcess () TerminateProcess , но я не знаю, куда поместить все функции обратного вызова, например, в кнопке с этим кодом

private: System::Void button4_Click(System::Object^  sender, System::EventArgs^  e) {}

1 Ответ

0 голосов
/ 18 июля 2011

Ваш обратный вызов выглядит в C ++ / CLI, поэтому я предполагаю, что вы используете этот язык.

Вот простой код для завершения процесса с именем MyProcess

array<Process^>^ Processes = Process::GetProcessesByName("MyProcess");
for each (Process^ P in Processes)
    P->Kill();

Обратите внимание, что вам может понадобитьсязапустить вашу программу в режиме администрирования.GetProcessesByName возвращает массив Process. Если у вас есть несколько экземпляров MyProcess, вы можете уничтожить их все с помощью этого кода.

Чтобы использовать класс Process, обязательно добавьте его в исходный файл:

using namespace System::Diagnostics;
...