Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.53/32: Рейтинг темы: голосов - 32, средняя оценка - 4.53
weboman
210 / 195 / 63
Регистрация: 13.08.2010
Сообщений: 1,531
Записей в блоге: 6
1

Завершение процессов средствами Delphi!?

21.10.2010, 18:54. Показов 6554. Ответов 3
Метки нет (Все метки)

Вот фун-я завершения процесса (работает):
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function KillTask(ExeFileName:String):integer;
  const Process_Terminate=$0001;
  var ContinueLoop:BOOL;
      FSnapShotHandle:THandle;
      FProcessEntry32:TProcessEntry32;
begin
 result:=0;
 FSnapShotHandle:=CreateToolHelp32SnapShot(TH32CS_SnapProcess,0);
 FProcessEntry32.dwSize:=SizeOf(FProcessEntry32);
 continueLoop:=Process32First(FSnapShotHandle,FProcessEntry32);
 while integer(continueloop)<>0 do
  begin
   if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile))= UpperCase(ExeFileName))
    or (UpperCase(FProcessEntry32.szExeFile) = UpperCase(ExeFileName))) then
     Result:=Integer(TerminateProcess(OpenProcess(Process_TERMINATE,bool(0),
      FProcessEntry32.th32ProcessID),0));
     ContinueLoop:=Process32Next(FSnapShotHandle,FProcessEntry32);
     end;
     CloseHandle(FSnapShotHandle);
     end;
процесс убивается так:
Delphi
1
2
3
4
procedure TForm1.Button1Click(Sender: TObject);
begin
KillTask('notepad.exe');
end;
НО! Проблема в том что эта фун-я убивает только те процессы, у которых есть окно (я так понимаю это Handle), так как же все-таки убить процесс без окна?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.10.2010, 18:54
Ответы с готовыми решениями:

завершение процессов. открытия приложений. и т.д.
Добрый уже вечер. нашёл старый, но ещё неплохо работающий комп. Решил сделать из него...

завершение процесов в delphi
скажите пожалуйста данный код может вырубить касперского? function...

завершение создания проекта в Delphi
Всем доброго времени суток. Написал свою прогу на Delphi теперь хочу узнать как создаётся...

Delphi не выгружает из процессов!
Помогите кто может после закрытия программы, она не завершается в процессах тем самым не дает снова...

3
160 / 158 / 39
Регистрация: 10.10.2010
Сообщений: 461
21.10.2010, 19:33 2
AlienNation, точно не напишу если не ошибаюсь есть такая фича как TerminateProcess в цикле по всем процессам находиш Хендл процесса и пробуеш его терминатить
0
22 / 0 / 1
Регистрация: 30.03.2013
Сообщений: 69
25.01.2019, 19:34 3
Спасибо, подскажите пожалуйста, как используя этот код убить несколько процессов из списка?
0
Модератор
7293 / 4772 / 2000
Регистрация: 21.01.2014
Сообщений: 20,268
Записей в блоге: 3
26.01.2019, 07:33 4
Цитата Сообщение от uniona Посмотреть сообщение
как используя этот код убить несколько процессов из списка?
1. Составить список
2. Организовать цикл обхода этого списка
3. На каждой итерации цикла вызывать вышеописанную функцию, передавая в качестве параметра очередной элемент списка...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.01.2019, 07:33

Программирование процессов windows в delphi
как средствами делфи получит список процессов системы(win xp) и определить зависший процесс и/или...

Енкодер средствами Delphi
Добрый день. Задача в следующем. Есть аналоговое устройство, которое на 1 оборот (360 градусов)...

Автоматизация средствами Delphi
Здравствуйте, хотелось бы узнать как автоматизировать часто повторяющиеся задачи средствами Delphi....

Функции Outlook средствами Delphi
Привет всем! :) Хочу сделать вот что, не знаю пока как. Мне каждый раз приходится отсылать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.