Перехватить прорисовку текста

Тема в разделе "WASM.WIN32", создана пользователем xSoft, 7 авг 2006.

  1. xSoft

    xSoft New Member

    Публикаций:
    0
    Регистрация:
    12 июл 2006
    Сообщения:
    17
    Привет всем!

    Возьмем к примеру простой контрол Edit. Для вывода текста он ведь использует функции DrawText или TextOut. Хотелось бы узнать, каким образом можно перехватить эти функции в user32.dll? Пробовал определять адрес функций и через WriteProcessMemory создавать переход на свой обработчик путем замены первых байт на инструкцию перехода. Работает только для моего процесса. Как можно перехватывать вызов API функций в контроле Edit и других подобных?

    Спасибо
     
  2. DelExe

    DelExe New Member

    Публикаций:
    0
    Регистрация:
    22 авг 2005
    Сообщения:
    165
    1). Не совсем понял проблемму. Хуки не работают?
    2). Есть такая штука - оконная процедура. Она делает много чего полезного, кроме всего прочего - определяет и цвет контрола. Можно сделать сабклассинг...

    ИМХО. Хуки на DrawText/TextOut попроще. Зазгружается DLL в адреcное пространство всех процесов (например с помощью SetWindowsHookEx), а из неё осуществляеться перехват нужных функций. Это стандартное решение, или я чего то не понял ?