Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.08;
Скачать: CL | DM;

Вниз

"повисшее" приложение   Найти похожие ветки 

 
MetalFan ©   (2004-06-25 14:16) [0]

как узнать, что процесс "висит"?
заранее thnx


 
Тимохов ©   (2004-06-25 14:16) [1]

что есть "висит"?


 
MetalFan ©   (2004-06-25 14:22) [2]

ну не отвечат ни на что...
значит мысль такая:
есть стороннее приложение. оно в некоторых случаях выдает ошибку и его главное окно исчезает. но в процессах оно остается. как можно определить, что оное накрылось(повисло)?


 
clickmaker ©   (2004-06-25 14:26) [3]

SendMessageTimeout, SMTO_ABORTIFHUNG


 
MetalFan ©   (2004-06-25 14:29) [4]


> clickmaker ©   (25.06.04 14:26) [3]

big thnx!
а как по processID узнать хэндл окна приложения? а то кому message то слать?


 
Тимохов ©   (2004-06-25 14:41) [5]

handle окна можно узанть с помощью findwindow (например)


 
TUser ©   (2004-06-25 14:43) [6]

Можно через FindWindowEx найти окно нужного приложения и черех GetWindowThreadProcessId проверить, что это окно именно того процесса, который тебя интересует. Дальше - Repeat.. Until.

PS. Наверное и попроще что-нибудь етсь.


 
diMAN   (2004-06-25 15:03) [7]

Вот, посмотри:

Как определить зависло приложение или нет?
http://www.3dnews.ru/software/win_trick02/?template=print.htm


 
MetalFan ©   (2004-06-25 15:22) [8]


> diMAN   (25.06.04 15:03) [7]

Big Thnx!
то, что надо! попадалось ведь это! но всего не упомнишь!


 
Тимохов ©   (2004-06-25 15:38) [9]

а надо ли связываться с недокументированностью?


 
MetalFan ©   (2004-06-25 17:21) [10]


> Можно через 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 всегда какой-то здоровый(((


 
MetalFan ©   (2004-06-25 17:46) [11]

не смотрите предыдущий мой бред! все, я разобрался) всем thnx


 
DeadMeat ©   (2004-06-25 17:49) [12]

Я не смотрел... :))

---
...Death Is Only The Begining...


 
Игорь Шевченко ©   (2004-06-25 20:17) [13]

для XP и выше: IsHungAppWindow



Страницы: 1 вся ветка

Текущий архив: 2004.08.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.037 c
10-1027921118
epflorov
2002-07-29 22:15
2004.08.08
Проблемы с Naming Service


3-1089617066
Prohodil Mimo
2004-07-12 11:24
2004.08.08
При загрузке системы почему-то стал отключаться сервер ИБ.


6-1086845012
AndrewK
2004-06-10 09:23
2004.08.08
Как отправить письмо с уведомлением о доставке


3-1089902393
KETT
2004-07-15 18:39
2004.08.08
Как суммировать значения полей двух таблиц получить третию ?


6-1086645049
SergP
2004-06-08 01:50
2004.08.08
Прикол с TWebBrowser...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский