Главная страница
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.048 c
2-1148245086
Adolf
2006-05-22 00:58
2006.06.11
Срочно нужна помощь!


1-1146903757
Stanislav
2006-05-06 12:22
2006.06.11
Прочитать словарь из MS Office


2-1148557809
tvv
2006-05-25 15:50
2006.06.11
Работа с DLL


15-1147971720
срочно
2006-05-18 21:02
2006.06.11
Базы данных


15-1147234447
antonn
2006-05-10 08:14
2006.06.11
помогите перевести пару предложений...