![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как убить процесс ,зная только его имя?
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.