Завершить все процессы пользователя
|
CaMpEr
|
Дата: Понедельник, 08.07.2013, 00:39 | Сообщение # 1
|
Новичок
Зарегистрирован: 08.07.2013
Группа: Пользователи
Сообщений: 1
Статус: Offline
|
Здраствуйте очень прошу помочь. Можно ли както убить все процессы пользователя? Если да то помогите пожалуйста.
Через Delphi...
I love Coding
Сообщение отредактировал CaMpEr - Понедельник, 08.07.2013, 00:40
|
|
|
|
|
dolphin
|
Дата: Понедельник, 08.07.2013, 11:26 | Сообщение # 2
|
Администратор
Сообщений: 902
Статус: Offline
|
Цитата (CaMpEr)
все процессы
А есть ли в этом какой-то смысл? Ведь скорее всего мы получим синий экран...
Список можно получить через CreateToolhelp32Snapshot, а потом циклом по списку применить TerminateProcess.
Система: Windows 10 x64, Windows XP
Среды программирования: Delphi 7, Delphi 10 Seattle
Я не профессионал, я всего лишь любитель
Я не вредитель, я всего лишь теоретик
|
|
|
|
|
dolphin
|
Дата: Среда, 17.07.2013, 18:00 | Сообщение # 3
|
Администратор
Сообщений: 902
Статус: Offline
|
Хотя можно отсеивать системные как то так
Обновил код, проверил на 7ке и добавил завершение как таковое всех процессоров кроме системных
Все равно код немного неоптимизирован, но вполне рабочий, надеюсь кому-нибудь пригодится
Доступно только для пользователей
Система: Windows 10 x64, Windows XP
Среды программирования: Delphi 7, Delphi 10 Seattle
Я не профессионал, я всего лишь любитель
Я не вредитель, я всего лишь теоретик
Сообщение отредактировал dolphin - Четверг, 18.07.2013, 14:14
|
|
|
|
|
Sith
|
Дата: Среда, 25.09.2013, 17:55 | Сообщение # 4
|
Новичок
Зарегистрирован: 25.09.2013
Группа: Пользователи
Сообщений: 3
Статус: Offline
|
а как сделать так чтобы это не убивало мою программу? |
|
|
|
|
Neo
|
Дата: Среда, 25.09.2013, 20:30 | Сообщение # 5
|
Модератор
Зарегистрирован: 04.05.2010
Группа: Модераторы
Сообщений: 316
Статус: Offline
|
после repeat допиши:
Код
if GetCurentProcessId = Process.th32ProcessID then
continue;
|
|
|
|
|
Sith
|
Дата: Четверг, 26.09.2013, 11:11 | Сообщение # 6
|
Новичок
Зарегистрирован: 25.09.2013
Группа: Пользователи
Сообщений: 3
Статус: Offline
|
Цитата (Neo)
после repeat допиши:
view plaincopy to clipboardprint?
if GetCurentProcessId = Process.th32ProcessID then
continue;
Выдаёт ошибку при запуске
Точка входа в процедуру GetCurentProcessID не найдена в библиотеке DLL Kernel32.dll
Вот функция: function GetCurentProcessID : Cardinal; stdcall; external 'kernel32.dll';
|
|
|
|
|
Neo
|
Дата: Четверг, 26.09.2013, 16:07 | Сообщение # 7
|
Модератор
Зарегистрирован: 04.05.2010
Группа: Модераторы
Сообщений: 316
Статус: Offline
|
Подключи модуль Windows,да и всё. |
|
|
|
|
Sith
|
Дата: Четверг, 26.09.2013, 18:42 | Сообщение # 8
|
Новичок
Зарегистрирован: 25.09.2013
Группа: Пользователи
Сообщений: 3
Статус: Offline
|
Цитата (Neo)
Подключи модуль Windows,да и всё.
в uses Windows было прописано,всё равно.
|
|
|
|
|
Neo
|
Дата: Пятница, 27.09.2013, 09:12 | Сообщение # 9
|
Модератор
Зарегистрирован: 04.05.2010
Группа: Модераторы
Сообщений: 316
Статус: Offline
|
if GetCurrentProcessId = Process.th32ProcessID then
Continue; |
|
|
|
|
xXxSh@dowxXx
|
Дата: Воскресенье, 06.10.2013, 18:28 | Сообщение # 10
|
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
|
Цитата
Спасибо
Прошу удалить тему
Пожалуйста удалите тему!
Админы ПРОШУ УДАЛИТЬ ТЕМУ!!!!!
Не нужно так спамить, тема не удаляется по причине того что кому то может пригодиться данная информация и исходник, что бы не пришлось долго искать пускай лучше будет тут.
Сообщение отредактировал xXxSh@dowxXx - Воскресенье, 06.10.2013, 18:28
|
|
|
|
|
Normalnyj
|
Дата: Суббота, 21.12.2013, 23:25 | Сообщение # 11
|
Был не раз
Зарегистрирован: 08.11.2013
Группа: Пользователи
Сообщений: 9
Статус: Offline
|
Дайте пожалуйста исходник если не сложно заранее спасибо. |
|
|
|
|