Как следить за обновлениями экрана? - PullRequest
1 голос
/ 23 марта 2010

Я пытаюсь написать программу, которая следит за перерисовкой экрана. Это означает, что если какая-либо часть какого-либо окна перерисовывается, то программа уведомляется.

Насколько я понимаю, я должен использовать хук записи журнала, как в http://www.vbaccelerator.com/home/vb/code/libraries/Hooks/Journal_Record_Hooks/article.asp

Однако я не понимаю, какой тип MSG может вызвать у меня события WM_PAINT (WH_CALLWNDPROC и WH_CALLWNDPROCRET, похоже, не выполняют эту работу). Я даже не уверен, что WM_PAINT - это то, что я ищу ...

В принципе, если бы я знал, когда DC, связанный с GetDesktopWindow (), изменился, моя проблема была бы решена.

Вопрос: как вы отслеживаете обновления экрана?

Ответы [ 2 ]

1 голос
/ 23 марта 2010

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

0 голосов
/ 23 марта 2010

Вы бы лучше делали скриншот каждую секунду или что-то еще. В каждой версии Windows небольшой значок сети на панели задач постоянно меняется при передаче данных по сети, что означает, что экран будет постоянно меняться.

...