Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как убить процесс ,зная только его имя?


sucer ©   (2003-07-05 15:35:00) 

Как убить процесс,зная только его имя?
и Как убить окно ,если
i:=0;
repeat
Inc(i);
hh:=FindWindow("tool_class39","");
if hh<>0 then SendMessage(hh,WM_CLOSE,0,0);
if hh<>0 then SendMessage(hh,WM_DESTROY,0,0);
if i=100 then
begin
( "Неудалось закрыть")

Как убить процесс,зная только его имя?
и Как убить окно ,если
i:=0;
repeat
Inc(i);
hh:=FindWindow("tool_class39","");
if hh<>0 then SendMessage(hh,WM_CLOSE,0,0);
if hh<>0 then SendMessage(hh,WM_DESTROY,0,0);
if i=100 then
begin
ShowMessage("Неудалось закрыть");
Break;
end;
until hh=0;
немоагает!!!


Morfein   (2003-07-06 11:11:00) [1]

>> Spawn
А неплохо бы проверять перед тем, как давать совет... GetExitCodeProcess возвращает ExitCode уже завершившегося процесса.


Spawn   (2003-07-05 22:11:00) [2]

При том что функция TerminateProcess требует ExitCode. Хотя я сам не проверял. Я просто залез в справку, увидел что нужен ExitCode вот и написал)))


Morfein   (2003-07-05 21:29:00) [3]


if hh<>0 then SendMessage(hh,WM_NCDESTROY,0,0);
if hh<>0 then SendMessage(hh,WM_DESTROY,0,0);


А вообще, лучше использовать GetWindowThreadProcessId + OpenProcess + TerminateProcess, потому что далеко не все окна можно убить через SendMessage().

>> Spawn
и причём тут GetExitCodeProcess?


Nick Denry   (2003-07-05 20:10:00) [4]

TerminateProcess для см. F1...


sucer   (2003-07-05 19:47:00) [5]

Проверял находит!


Spawn   (2003-07-05 19:08:00) [6]

а ты уверен, что FindWindow находит окно? Можешь еще посмотреть GetExitCodeProcess+TerminateProcess.


Наверх

Титульная страница Поиск, карта сайта Написать письмо