Главная страница
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.055 c
5-1133352457
jonny210
2005-11-30 15:07
2006.06.11
Нужно вытащить их TWebBrowser HTML код


2-1148204287
Delphin06
2006-05-21 13:38
2006.06.11
Как сделать окно одинаковое на всех мониторах


2-1148359093
cherman
2006-05-23 08:38
2006.06.11
Задача


2-1148557512
v eb
2006-05-25 15:45
2006.06.11
Прервать соединение


2-1148517183
eJack
2006-05-25 04:33
2006.06.11
dbExpress