Отслеживание изменения картинки

Тема в разделе "WASM.WIN32", создана пользователем PredaT0r, 1 окт 2008.

  1. PredaT0r

    PredaT0r New Member

    Публикаций:
    0
    Регистрация:
    30 сен 2008
    Сообщения:
    4
    Здравствуйте! Есть вопросик программисты, посоветуйте пожалуйста.
    Исходные данные:
    имеется некая работающая прога, для которой необходимо отслеживать факт изменения картинки на экране (будет реализовано скорее всего через несколько последовательных вызовов GetPixel), считаем, что "картинка" меняется со случайными интервалами во времени.
    Для конкретизирования примера пусть необходимо отслеживать наличие конкретной кнопки (изображения) в определенном месте браузера (допустим Explorer).
    Вопрос:
    как лучше отслеживать изменение картинки?

    {грузить систему проверками по таймеру не хочется}
    P.s. Часто бывает, что не видишь очевидного решения. Хотелось бы найти оптимальное решение этой задачи.
     
  2. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    PredaT0r
    ставь хук на функцию окна и перехватывай WM_PAINT, заодно и контекст дисплея сразу получишь.

    зы: исправил очепятку ;)
     
  3. PredaT0r

    PredaT0r New Member

    Публикаций:
    0
    Регистрация:
    30 сен 2008
    Сообщения:
    4
    Логично, хук как я понимаю должен быть глобальным. Думал над этим, уточнящий вопрос - а будут при этом перехватываться события перерисовки надстроек всяких там и фреймов? Извиняюсь за косноязычие, пока в этом не силен. Спасиба.
    Еще сразу по горячим следам: хукать WH_CALLWNDPROCRET или WH_GETMESSAGE ?
     
  4. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    WH_GETMESSAGE срабатывает на GetMessage
    WH_CALLWNDPROCRET на возвращение из процедуры обработки. в данном случае экран уже будет перерисован
     
  5. PredaT0r

    PredaT0r New Member

    Публикаций:
    0
    Регистрация:
    30 сен 2008
    Сообщения:
    4
    Угу, я уже разобрался, почитал, спасибо.