Вам не нужно сохранять снимок экрана, если вы не хотите:
Передать дескриптор целевого окна в GetDC (), t вернет контекст устройства окна.
Передайте контекст устройства в CreateCompatibleDC () для создания совместимого DC.
Используйте CreateCompatibleBitmap (), передав DC и размер окна.Это возвращает дескриптор к растровому изображению
Используйте SelectObject (), чтобы выбрать растровое изображение
Используйте BitBlt (), чтобы выполнить битовый перевод выбранных пикселей из обычного DC в совместимый DC, используяSRCCOPY растровый код операции для создания нормальной копии.
Создание объекта BITMAP.Используйте GetObject () и передайте дескриптор растровому изображению, которое вы создали.
Создайте BITMAPINFOHEADER и определите переменные-члены.Создайте массив беззнаковых символов, достаточно большой, чтобы вместить все пиксели из вашего растрового изображения.
Используйте GetDIBits (), передавая дескриптор совместимому растровому изображению, заголовок растрового изображения и указатель на массив пикселей.Это загружает пиксели из растрового изображения в массив пикселей.
Теперь проанализируйте все эти сочные данные пикселей, найдите цвета, которые вы ищете, и протестируйте результаты в соответствии с вашими условиями, чтобы решить, что делать дальше.
Не забудьте удалить объекты и освободить контексты памяти и устройства.
Я полагаю, что это учебник, которому я следовал, где я учился, благодаря MSDN: https://docs.microsoft.com/en-us/windows/desktop/gdi/capturing-an-image