Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.012 c
15-1147845114
Knight
2006-05-17 09:51
2006.06.11
Как в винде после конвертации диска С в нтфс...


2-1148826834
hamster
2006-05-28 18:33
2006.06.11
Создание окна


2-1148035612
Elen
2006-05-19 14:46
2006.06.11
Переопределение процедур меню другой программы


1-1146815087
zhegulov
2006-05-05 11:44
2006.06.11
Формирование XML-файла


15-1147840595
Layner
2006-05-17 08:36
2006.06.11
ActiveX в браузере IE6, браузер постоянно пишет:





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