Сейчас на форуме: vsv1, _MBK_ (+3 невидимых)

 eXeL@B —› Вопросы новичков —› функционирование приложений на MFC42
Посл.ответ Сообщение

Ранг: 31.5 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 17 ноября 2007 23:00
· Личное сообщение · #1

Взался отлаживать прогу использующую MFC, очень для меня необычно. Если быть кратким то проблема такая - не могу понять где находится цикл обработки пользовательских сообщений.
А теперь конкретный вопрос - в аттаче прога, там есть вызов функции OpenQueryValue походу, ставим бряк и брякаемся и вопрос кто, как и почему именно туда передает управление, если оконная процедура в далеко. Ну с вопросом кто относительно понятно - наверно сама оконная процедура и передает туда управление, но главный вопрос - как она узнает что именно туда нада передать. Перед входом в AfxWinMain и др никаких ссылок на тот код и близко не было.

e3a7_17.11.2007_CRACKLAB.rU.tgz - CRACK0C.EXE



Ранг: 29.8 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 20 ноября 2007 10:50
· Личное сообщение · #2

что значит пользовательских ??? - оконных ???
ищи функцию GetMessage или PostMessage(если не ошибаюсь).
smex пишет:
как и почему именно туда передает управление,


не понял , куда туда , в функцию ?



Ранг: 31.5 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 21 ноября 2007 19:56
· Личное сообщение · #3

Возможно некорректно вопрос поставил. Попробую еще раз в двух словах:

Как получает управление вот этот код?
004013EE . FF15 00204000 CALL DWORD PTR DS:[<&ADVAPI32.RegOpenKey>; \RegOpenKeyExA

Я определил что вызывается функция MFC создающая нечто подобное на диалоговое окно, однако в отличие от диалогового окна в передеваемых ей параметрах нет ничего похожего на пользовательский обработчик событий. Так как же из оконной процедуры управление передается именно сюда, как то ж программа это узнает




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 21 ноября 2007 21:21
· Личное сообщение · #4

smex, в двух словах не ответить В MFC свой собственный message pump, а сверху повешена иерархия классов. Методы (обработчики сообщений) регистрируются макросами. Для простой проги надо унаследовать от CApplication и CDialog и усё - твоего кода самая малость, вся кухня с сообщениями в самом MFC. Сделай простой проект в VS200x и посмотри. Кста, MFC идёт с исходниками.



Ранг: 31.5 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 22 ноября 2007 21:45
· Личное сообщение · #5

Ох ты спасибо за небольшое просвящение по данному поводу.

PS: Буду пробовать разобраться...Кстати тогда еще небольшой вопросик - исходники это хорошо, но возможно получится не изобретать велосипед, а как всегда нахаляву . Если помниш, ты же где то это узнал как работает эта библиотека - не отошлеш меня куда нить где можно почитать информацию по этому поводу, или сложно будет вспомнить?




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 25 ноября 2007 10:00 · Поправил: s0larian
· Личное сообщение · #6

лубую книгу wrox или microsoft press c "MFC" в заголовке И, кста, все доки есть в MSDN. Примеров немеряно на codeproject.com



Ранг: 31.5 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 27 ноября 2007 00:19
· Личное сообщение · #7

Ох ты спасибо, нада учиться...

ЗЫ: походу тему можно считать законченной и закрывать


 eXeL@B —› Вопросы новичков —› функционирование приложений на MFC42
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати