![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
PostMessage [D7]
Tornado © (2004-05-13 10:36:00)Закрываю окно чужого приложения таким образом:
PostMessage(FindWindow(nil, '32Bit - DirStat'), WM_QUIT, 0, 0)
Дело в том что это чужое приложение выполняет некие действия, а мое приложение периодически шлет ему такое сообщение на закрытие и чужое приложение закроется при помощи этого сообщения только тогда когда оно закончит свою работу. Когда работа этого приложения заканчивается то оно закрывается, все хорошо, НО вместе с ним закрывается и мое приложение :) PostMessage выполняется в отдельном потоке.
sniknik (2004-05-13 11:18:00) [1]> else
> // закрылась
или не открывалась никогда. для исключения такого варианта думаю надо "взводить" какуюнибудь переменную при найденом и после анализировать ее.
hndl:= FindWindow(nil, '32Bit - DirStat');
if hndl <> 0 then begin
PostMessage(hndl, WM_QUIT, 0, 0);
bol:= true; //оно работало!
end else
if bol ... // закрылась
Семен Сорокин (2004-05-13 11:09:00) [2]Tornado © (13.05.04 11:08) [2]
как отследить когда чужая программа закрылась?
так вот же подсказали в [1]
if hndl <> 0 then
..
else
// закрылась
Tornado (2004-05-13 11:08:00) [3]>>> sniknik © (13.05.04 10:45) [1]
спасибо все получилось, о возник еще вопрос: как отследить когда чужая программа закрылась? например выдать в этот момент сообщение?
sniknik (2004-05-13 10:45:00) [4]попробуй так
hndl:= FindWindow(nil, '32Bit - DirStat');
if hndl <> 0 then PostMessage(hndl, WM_QUIT, 0, 0)