Позволяет ли VB-шная форма обрабатывать посланные ей сообщения?
Если да, то как?
ger_kar писал(а):У меня вопрос, к тем кто хорошо в этом разбирается, сообщения и события чем они различаются и что между ними общего?
Сообщения в Windows широко используются для уведомления о различных событиях. Если Вы хотите заставить какое-либо окно или контрол (элемент пользовательского интерфейса, на самом деле тоже являющийся окном, как то: кнопка, edit, Toolbar, Tree view и т.д.) совершить определённое действие, отправьте ему соответствующее сообщение. Сообщения также могут исходить от других приложений. Система уведомляет о таких событиях как передвижение мыши, нажатие клавиши на клавиатуре и т.д. также посредством сообщений.
ger_kar писал(а):т.е. при нажатии происходит событие и посылается сообщение
Т.е. Контролу пришло сообщение и у него возникло событие?alibek писал(а):Наоборот.
Ну незнаю, на WASM е прочитал, вряд ли бы там стали чушь писать. Тем более, что этот прием в ольке можно сказать один из самых распространенных. Т.е. ставим бряк на сообщение, а по сути получаем реакцию на событие. Нажал кнопку (событие) - попал в отладчик. Разве нет связи?Хакер писал(а):а отцитированная фраза — чушь.
ger_kar писал(а):Ну незнаю, на WASM е прочитал, вряд ли бы там стали чушь писать.
ger_kar писал(а):Т.е. ставим бряк на сообщение
ger_kar писал(а): по сути получаем реакцию на событие.
Ну тут даже мне смешно .Хакер писал(а):Я встречал там некоторое количество глупостей в статьях. Самой вызывающей была фраза, что __vbaNew из msvbvm60 — это функция, которую VB-приложения используют для показа диалоговых окон.
Согласен, я просто употребил общеупотребительную фразу. Опять же процитирую:Хакер писал(а):Брекпоинт ставится не на сообщение, а на оконную процедуру.
Здесь "интересующие нас участки кода" и есть процедура обрабатывающая сообщение. Я думаю, ты вполне понял, что я имел ввиду.Как мы уже рассмотрели ранее, в OllyDbg можно расставлять точки останова BPX на вызовах различных API-функций. Зачастую более эффективным способом "отловить" интересующие нас участки кода являются точки останова на сообщениях.
Да я особо их и не различал, просто первое к компьютерам отношения не имеет, а второе просто из области компьютерной науки, т.е. второе часный случай первого, так же как компьютры, и все что с ними связано, всего лишь аспект нашей большой и многогранной жизни.Хакер писал(а):Ещё раз: если слово «событие» употреблялось всё это время в общем смысле, то оконные сообщения связаны с событиями. Точно так же, как связаны с событиями взрывы, автомобильные аварии, акты пробуждения человека, срабатывания будильника, и тому подобные вещи — это всё события.Ещё под словом «событие» могло иметься в виду «мышиное событие» или «клавиатурное событие», точно такое же, как я имел в виду здесь. Событие в этом контексте вообще никак не связано ни c VB, ни с ОС Windows; оно просто из области компьютерной науки.
Ну показать вряд-ли удасться, ибо это сугубо мои измышления, которые родил мой мозг на основании прочитанного (см. первую цитату с WASM 'a )Хакер писал(а):И да, покажи мне на WASM-е фразу «происходит событие и посылается сообщение».
Ну тут хоть, что-то прояснилосьХакер писал(а):Если говорить об элементах управления, поверх которых накручена ActiveX/COM-обёртка, то они при получении некоторых оконных сообщениях внутри своей оконной процедуры делают RaiseEvent, чем инициируют COM-событие.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 60