Главная страница
    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.032 c
3-1089962522
denis24
2004-07-16 11:22
2004.08.08
Редактирование в гриде


1-1090493738
tria
2004-07-22 14:55
2004.08.08
TSpinEdit - не отрабатывают MinValue и MaxValue. Почему?


1-1090397987
Igor_thief
2004-07-21 12:19
2004.08.08
Как получить высоту выпавшего PopupMenu?


14-1090252945
ims
2004-07-19 20:02
2004.08.08
проверить icq через веб форму.


3-1089404183
brigand
2004-07-10 00:16
2004.08.08
Как подлючиться





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский