Как получить GetWindowDC другого приложения?
Я пишу приложение (приложение a), которое будет автоматизировать определенные процедуры другого приложения (приложение b) на основе пиксельного цвета приложения b.
Я пытаюсь использовать функцию Windows GetPixel()
Один из параметров этой функции требует контекст устройства, мне нужно использовать контекст устройства окна, а не весь экран, GetWindowDC
Из приложения а, как я могу получить контекст устройства окна приложения б?
Будет ли этот метод работать для получения цвета пикселя приложения b, когда приложение b не в фокусе или минимизировано? Если нет, есть ли лучший способ сделать это?
1 ответ
Вы можете отправить WM_PRINT
или же WM_PRINTCLIENT
сообщение в окно, чтобы заставить его рисовать в свой собственный дескриптор DC, и это будет работать, даже если окно свернуто. Единственная проблема заключается в том, что WM_PRINT будет вызывать WM_PRINTCLIENT, а WM_PRINTCLIENT должен обрабатываться самим приложением - Windows не обеспечивает реализацию по умолчанию.