SetWindowsHook на нестандартное сообщение

Тема в разделе "WASM.WIN32", создана пользователем SnikerS, 5 апр 2009.

  1. SnikerS

    SnikerS New Member

    Публикаций:
    0
    Регистрация:
    5 апр 2009
    Сообщения:
    4
    Собственно есть окно, которое обрабатывает нестандартные сообщения(например 8015h и 8018h) заранее зарегеные в системе RegisterWindowMessage'ом.
    Пытаюсь ставить хуки на них - не получается :dntknw: сколько статей не смотрел, везде хуки ставят только на стандартные WM_ сообщения(их я перехватываю успешно).
    А как перехватить эти сообщения?
    Желательно кусок кода на C или Delphi.
    Заранее благодарен.
     
  2. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    На всякий случай:
    RegisterWindowMessage к сообщениям < C000h отношения иметь не может.
     
  3. SnikerS

    SnikerS New Member

    Публикаций:
    0
    Регистрация:
    5 апр 2009
    Сообщения:
    4
    может я ошибся в дизасм коде, но мне все равно очень охота отловить это сообщение и передать его своей проге, с параметрами w и l
     
  4. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    GetWindowLong(hWnd, GWL_WNDPROC), SetWindowLong(hWnd, GWL_WNDPROC) позволяют узнать адрес процедуры окна и заменить его на свой, а там уже анлизируй всё что передаётся. Разумеется из АП процесса создавшего окно.
    Хотя по идее SetWindowsHookEx при WH_CALLWNDPROC должна давать такой-же эффект.
     
  5. SnikerS

    SnikerS New Member

    Публикаций:
    0
    Регистрация:
    5 апр 2009
    Сообщения:
    4
    Y_Mur
    Точно, сработало. Спасибо большое.
    Не понимаю почему не получяется через SetWindowsHookEx, но через SetWindowLong получилось так, как надо.
    Теперь буду париться над структурой, которая передается по lParam.
    Еще раз спасибо большое.
    Кому понадобиться - ищите статью "Сабклассинг и суперклассинг в Delphi для начинающих"