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

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

Закрытие другой прграммы [D6, NT4, Win2k]


AlekseyK ©   (2003-02-26 12:00:00) 

Привет! Подскажите как закрыть любую другую прогу даже если она зависла(типа End Task). Спасибо!


Nic_B   (2003-02-26 15:34:00) [1]

У меня работает так

GetWindowThreadProcessID(Wnd, @ProcessID);
ProcessHandle := OpenProcess(PROCESS_TERMINATE, FALSE, ProcessId);
TerminateProcess(ProcessHandle,4);

А насчет
a:=findwindow(nil,"Имя_проги");
SendMessage(a,WM_CLOSE,0,0);
то некоторые программы выдают запрос перед закрытием т.е. автоматом не закроешь


AlekseyK   (2003-02-26 14:40:00) [2]

у меня все работает так:
a:=findwindow(nil,"Имя_проги");
SendMessage(a,WM_CLOSE,0,0);

усли это не лучший способ то подскажи как лучше,
как узнать ID процесса и что писать в параметре TerminateProcess(ID,?);


DVM   (2003-02-26 14:05:00) [3]


> я так понял должно быть как то так
> a:=findwindow(nil,"Имя_проги");
> TerminateProcess(a,"Здесь_не_знаю_что");

Неправильно ты понял.
Причем здесь findwindow?
Тебе нужен не Handle окна, а ID процесса.
По хэндлу окна тоже можно получить ID процесса, но это лишнее.



AlekseyK   (2003-02-26 13:16:00) [4]

я так понял должно быть как то так
a:=findwindow(nil,"Имя_проги");
TerminateProcess(a,"Здесь_не_знаю_что");

Как именно?


AlekseyK   (2003-02-26 12:19:00) [5]

У TerminateProcess(hProcess:Cardinal,uExitCode:Cardinal) в хелпе не нашол что за hProcess и uExitCode Я знаю только нащвание процесса как узнать эти параметры.


han_malign   (2003-02-26 12:07:00) [6]

TerminateProcess
- но, для 98, я могу смоделировать ситуацию когда программа зависнет намертво и ничем не убьется (TerminateThread в процессе I/O), под W2K убьется любая...


Наверх

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