Перехват клика мыши.

Тема в разделе "WASM.BEGINNERS", создана пользователем trust, 6 авг 2008.

  1. trust

    trust New Member

    Публикаций:
    0
    Регистрация:
    18 янв 2008
    Сообщения:
    49
    Столкнулся с проблеммой. Не могу отловить клик мыши в IE. Пробовал перехватывать GetMessageA/W и PostMessageA/W ( WM_RBUTTONDOWN/UP и WM_LBUTTONDOWN/UP, так же WM_PARENTNOTIFY + WM_RBUTTONDOWN/UP + WM_LBUTTONDOWN/UP ). Толку никакого. Могу отловить только клик в окне ( которое вызывается по Справка->Опрограмме, или Файл->Свойства. ). Почему я не могу отловить клики в основном окне браузера ( класс окна: Internet Explorer_Server )? Так и не разобрася вчем дело. ПОдскажите пожалуйста как мне отловить этот клик ( без использования SetWindowsHookEx )? Буду рад любой помощи. Заранее спасибо.
     
  2. Subrealist

    Subrealist Member

    Публикаций:
    0
    Регистрация:
    17 июл 2006
    Сообщения:
    134
    Зная класс окна можно найти его хэндл, далее при помощи функции GetWindowLong c индексом GWL_WNDPROC получить адрес процедуры окна, а при помощи SetWindowLong, с этим индексом установить свою процедуру, и обрабатывать в ней поступающие сообщения, как это делается в оконной процедуре, в конце передавая их оригинальной процедуре. Разумеется данные действия тербуют внедрения в адресное пространство процесса