![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Состояние чужого процесса
tiam © (2003-06-26 08:12:00)
Добрый день.
Есть некоторое приложение в котором выполняется длительный скл-запрос. Нужно из другого приложения получить состояние первого приложения. Т.е. узнать, закончил выполняться запрос или нет.
Каким образом, есть ли готовые апишные функции?
Спасибо
tiam (2003-06-26 10:50:00) [21]
Спасибо
Digitman (2003-06-26 10:22:00) [22]
ну так и воспользуйся тем самым SendMessageTimeout() !)
на то и вызов этот предназначен)... единственное, что ограничивает его использование - д.б. известен хэндл целевого окна
консольному процессу, не создавшему ни единого окна в ходе работы, разумеется, адресовать оконное сообщение не получится
sapsi (2003-06-26 10:09:00) [23]
Tiam, как я понимаю, об этом и спрашивает
sapsi (2003-06-26 10:08:00) [24]
предположим, что приложение больше ничего и не делает....
мне надо знать просто, что оно закончило выполнять этот запрос, освободилось.
Digitman (2003-06-26 10:01:00) [25]
можно, конечно) ... см., к примеру, SendMessageTimeout()
но разве это факт того, что в этот момент выполняется именно сиквел-запрос ?
tiam (2003-06-26 09:40:00) [26]
Но можно же проверить, что сообщения не обрабатываются?
Digitman (2003-06-26 09:29:00) [27]
> диспетчер задач Windows в таком случае показывает, что приложение
> "Не отвечает".
разумеется ! если используются синхронные вызовы БД-драйвера, то в момент их исполнения win-сообщения не обрабатываются.
> Неужели никак нельзя получить эту информацию от самой системы?
>
какую информацию-то ? о прогрессе выполнения сиквел-запроса к СУБД ? а откуда системе известно о том, что приложение обращается к какой-то СУБД, не являющейся частью ее стандарта ?
tiam (2003-06-26 09:28:00) [28]
т.е. это можно отследить в другом приложении?
Игорь Шевченко (2003-06-26 09:25:00) [29]
Диспетчер задач показывает, что приложение "не отвечает" если приложение в течении 5 секунд не выбрало сообщение из очереди.
tiam (2003-06-26 09:12:00) [30]
А ведь диспетчер задач Windows в таком случае показывает, что приложение "Не отвечает". Неужели никак нельзя получить эту информацию от самой системы?
А получить хотя бы состояние курсора мышки в чужом приложении?
Digitman (2003-06-26 08:57:00) [31]
никаким образом, если контролируемое приложение не разрабатывалось с учетом возможности извещать о своем состоянии иные(контролирующие) приложения