|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - Завершение не своих процессов на C# |
|
.NET - Завершение не своих процессов на C#
|
Новый участник Сообщения: 30 |
Профиль | Отправить PM | Цитировать Привет всем!
Стал заниматься программированием на C# и еще совсем не много знаю. На днях возник вопрос: «Как убивать (завершать) другие процессы из программы, написанной на С#?». К примеру при нажатии на кнопку, хочу, чтобы выключался explorer.exe. Как это реализовать? Предполагаю, что здесь не обойтись без использования WIN32 API. Быть может, у кого-то есть готовый кусок кода? |
|
Отправлено: 21:49, 18-02-2009 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать ldcount, вы хотите просто убивать процессы? По выбору? Можно просто использовать имеющиеся возможности консольной утилиты taskkill в самой программе
1. Пишем вот такую функцию: Функция с параметром типа string, в качестве параметра передается текст команды, например "taskkill /F /IM explorer.exe /T", и запускается в невидимом режиме cmd.exe, которая и выполняет эту команду. Далее просто в коде программы, где необходимо, формируем следующий текст: Можно обойтись и без try...catch. Данный пример просто выдаст исключение при невозможности завершить процесс. |
------- Отправлено: 01:12, 19-02-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 30
|
Профиль | Отправить PM | Цитировать Delirium, спасибо за очень подробный ответ.
Я не заморачивался. Признаться, довольно быстро нашел пример, где выдернул нужный код. Process[] ps1 = System.Diagnostics.Process.GetProcessesByName("explorer"); foreach (Process p1 in ps1) { Console.WriteLine("Closing process...{0}", p1.ProcessName); p1.Kill(); } Интересует теперь вопрос получения админских прав. |
Отправлено: 01:18, 19-02-2009 | #3 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать Можно и вашим вариантом. Мой способ более общий и позволяет из программы выполнять любые действия с утилитами командной строки. Да в общем то с ее помощью можно запускать любую внешнюю программу из кода своей программы.
Цитата ldcount:
Цитата ldcount:
По поводу админских прав - Для этого надо немного больше знаний о самой системе, ей процессах и прочее. Один мой знакомый переписывал msgina.dll, и делал из нее keyloger, который работал только при вводе пароля в систему. Это как пример. |
||
------- Отправлено: 01:24, 19-02-2009 | #4 |
Новый участник Сообщения: 1
|
Профиль | Отправить PM | Цитировать Delirium, почему-то ваш способ не работает. При выполнении кода ничего не происходит/процесс не завершается
|
|
Отправлено: 14:19, 29-07-2013 | #5 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - Завершение нескольких процессов из CMD или программы | antikiller_bm | Microsoft Windows 2000/XP | 3 | 24-05-2009 23:39 | |
Отзывы владелъцев о своих материнских платах. | misha121 | Материнские платы и память | 40 | 21-04-2009 18:04 | |
Intel представила третье поколение своих нетбуков | Тать | Новости железа | 3 | 12-01-2009 14:45 | |
Программы для создания своих каналов | -PREDATOR- | Программное обеспечение Windows | 0 | 17-02-2008 13:42 | |
Разное - Неожиданное завершение службы Запуск серверных процессов DCOM | koresaram | Microsoft Windows 2000/XP | 3 | 25-07-2007 12:20 |
|