![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
"повисшее" приложение [D6, Win95/98, Win2k, WinXP]
MetalFan © (2004-06-25 14:16:00)как узнать, что процесс "висит"?
заранее thnx
Игорь Шевченко (2004-06-25 20:17:00) [1]для XP и выше: IsHungAppWindow
DeadMeat (2004-06-25 17:49:00) [2]Я не смотрел... :))
---
...Death Is Only The Begining...
MetalFan (2004-06-25 17:46:00) [3]не смотрите предыдущий мой бред! все, я разобрался) всем thnx
MetalFan (2004-06-25 17:21:00) [4]
> Можно через FindWindowEx найти окно нужного приложения и
> черех GetWindowThreadProcessId проверить, что это окно именно
> того процесса, который тебя интересует. Дальше - Repeat..
> Until.
не работает(
function DoFindICQWindow: THandle;
var
lHndl: THandle;
function EnumWindowProc(whandle: HWND): boolean;
var
lPID: DWORD;
begin
GetWindowThreadProcessId(whandle, lPID);
result := (lPID <> GProcessID);
if not result then
lHndl := whandle;
end;
begin
lHndl := 0;
GProcessID := DoFindProcess;
if GProcessID <> 0 then
EnumWindows(@EnumWindowProc, 0);
result := lHndl;
end;
GProcessID - правильный PID приложения, а в EnumWindowProc lPID всегда какой-то здоровый(((
Тимохов (2004-06-25 15:38:00) [5]а надо ли связываться с недокументированностью?
MetalFan (2004-06-25 15:22:00) [6]
> diMAN (25.06.04 15:03) [7]
Big Thnx!
то, что надо! попадалось ведь это! но всего не упомнишь!
diMAN (2004-06-25 15:03:00) [7]Вот, посмотри:
Как определить зависло приложение или нет?
http://www.3dnews.ru/software/win_trick02/?template=print.htm
TUser (2004-06-25 14:43:00) [8]Можно через FindWindowEx найти окно нужного приложения и черех GetWindowThreadProcessId проверить, что это окно именно того процесса, который тебя интересует. Дальше - Repeat.. Until.
PS. Наверное и попроще что-нибудь етсь.
Тимохов (2004-06-25 14:41:00) [9]handle окна можно узанть с помощью findwindow (например)
MetalFan (2004-06-25 14:29:00) [10]
> clickmaker © (25.06.04 14:26) [3]
big thnx!
а как по processID узнать хэндл окна приложения? а то кому message то слать?
clickmaker (2004-06-25 14:26:00) [11]SendMessageTimeout, SMTO_ABORTIFHUNG
MetalFan (2004-06-25 14:22:00) [12]ну не отвечат ни на что...
значит мысль такая:
есть стороннее приложение. оно в некоторых случаях выдает ошибку и его главное окно исчезает. но в процессах оно остается. как можно определить, что оное накрылось(повисло)?
Тимохов (2004-06-25 14:16:00) [13]что есть "висит"?