![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как средствами DELPHIпроверить отвечает ли программа на системные [D5, Win95/98]
YDV © (2002-08-01 08:00:00)Доброе утро(день,вечер) !
Как средствами DELPHIпроверить отвечает ли программа на системные запросы, т.е. не зависла ли она ?
Заранее спасибо за ответ !
YDV (2002-08-05 14:25:00) [1]Можно одно уточнение ?...
Где в системе заложено время, по истечению которого процессу присваивается статус зависшего ?...
Постоянно ли это время, или его можно поменять ?
Заранее спасибо за ответ !
YDV (2002-08-05 12:21:00) [2]Спасибо за Ваши ответы !...
помогло !...
пока не знал функцию сделал так:
в проге, которая может повиснуть вставил отправших сообщений по таймеру раз в 2 сек
var
hw:HWND;
Cds: TCopyDataStruct;
Hwnd: THandle;
begin
hw:=FindWindow("TForm1","Reanimator");
if hw<>0 then begin
Cds.dwData:=Top;
Cds.cbData:=Length(Caption)+1;
GetMem(Cds.lpData,Cds.cbData);
StrCopy(Cds.lpData,PChar(Caption));
SendMessage(Hw,WM_COPYDATA,Handle,Cardinal(@Cds));
FreeMem(Cds.lpData);
end;
Как только Reanimator не дождался сообщения в течении 10 сек, то
прога повисла !
Almaz (2002-08-02 00:51:00) [3]
function IsHungThread(ThreadId: Integer): BOOL; external "USER32.DLL" name "IsHungThread";
Удачи.
ppcat (2002-08-01 12:59:00) [4]function IsHungAppWindow(Wnd: HWND): BOOL ; stdcall;
external "User32.dll" name "IsHungAppWindow";
Это для NT
Для mustDie, кажется, IsHungAppProcess
Кстати, я тоже раньше не знал, ответ подсказали здесь!!!
Поищи в архивах.
BigBadMutuh (2002-08-01 12:37:00) [5]Твоя программа, или вообще? Если твоя, то можно глюкалку сделать. Ну бегущую строку или ещё чего. Не бежит значит повисла.
Song (2002-08-01 08:49:00) [6]Какая ОС? Поищите по поиску, уверен найдёте.