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

Вниз

проверка существования окна с определенным хендлом   Найти похожие ветки 

 
Mr tray   (2006-05-27 01:03) [0]

мне надо послать сообщение в окно, хендл которого у меня есть. если это окно существует, то оно пошлет сообщение на первое окно, тем самым поддверждая своё существование. но оно может и не существовать. я организовал этот механизм, используя postmessage. но с момента посылки проверочного сообщения от первого окна второму до принятия подтверждающего сообщение может пройти некоторое время, что для меня недопустимо (так как в зависимости от результата проверки нужно выполнять определенный код). как мне сделать функцию, которая выглядит примерно так
function checkform(wnd:hwnd;timeout:cardinal):boolean;
где wnd - хендл окна, которое может существовать, а может и не существовать, timeout - предел ожидания ответа, result - итог (был ли получен ответ).


 
Rial ©   (2006-05-27 01:23) [1]

Используй
SendMessage.
Он ждет окончания передачи.

первая процедура - обработчик подтверждающего события.
С не, я думаю, все просто.
В ней делаем кроме всего прочего MyFalg:=True;

Перед посылкой сообщения клиенту
MyFlag:=False;

Теперь после отправки сообщения
N:=GetTickCount;
While (Not MyFlag)and(GetTickCount-N<MyConst)do begin
Sleep(5);
Application.ProcessMessages;
end;

Тут MyConst - макс. время ожидания.


 
GanibalLector ©   (2006-05-27 01:45) [2]

Перед посылкой еще раз найди его : FindWindow,FindWindowEx


 
begin...end ©   (2006-05-27 05:54) [3]

IsWindow -- оно не проще?


 
Rial ©   (2006-05-27 15:44) [4]

ИМХО, спрашивалось именно про ожидание в течение некорого времени
после посылки сообщения. Вполне реальная проблема,
в которой IsWindow вовсе не при делах.
Просто чема вопроса и его содержание немного не совпадают.


 
Mr tray   (2006-05-27 18:05) [5]

Дело в том, что может быть, объект с данным мне хендлом и может являться окном, да только не искомым. чтобы определить, искомое ли окно обладает имеющимся у меня хендлом, я посылаю сигнал. получу ответ - значит есть контакт, не получу - не контакта.


 
Mr tray   (2006-05-27 18:09) [6]

Rial ©   (27.05.06 01:23) [1]
спасибо, кажется я вас понял....



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

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

Наверх




Память: 0.48 MB
Время: 0.039 c
11-1127915292
dvk
2005-09-28 17:48
2006.06.11
Особенности OpenSaveDialog_Extended


15-1147636626
Gero_
2006-05-14 23:57
2006.06.11
Вопрос к пользователям клиентских программ для форума


6-1139003480
newprogrammer
2006-02-04 00:51
2006.06.11
сервер на базе winsock2


15-1147658354
Arazel
2006-05-15 05:59
2006.06.11
Пойск похожех слов по файлу (Как в DELPHI по CTRL+SPACE)


4-1142506938
Woolen
2006-03-16 14:02
2006.06.11
Имя файла модуля