Вопрос Как получить цвет пикселя в окне, перекрытым другим окном

Начинающий
Статус
Оффлайн
Регистрация
19 Июл 2017
Сообщения
76
Реакции[?]
9
Поинты[?]
0
Хотелось бы узнать, как получить цвет пикселя с игры на заднем фоне, если например у меня открыт хром на весь экран но программа должна определить цвет пикселя по заданной координаты.Не закрывая или сворачивая хром.
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
9 Дек 2017
Сообщения
79
Реакции[?]
15
Поинты[?]
0
Скриншоть рабочую область процесса, работай с изображением
profit

WinApi такое может (2ой ответ):
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Олдфаг
Статус
Оффлайн
Регистрация
18 Фев 2019
Сообщения
2,826
Реакции[?]
1,853
Поинты[?]
24K
Скриншоть рабочую область процесса, работай с изображением
profit

WinApi такое может (2ой ответ):
Пожалуйста, авторизуйтесь для просмотра ссылки.
Лучше уж так
C++:
    HWND hWnd = FindWindow(NULL, L"Тут заголовок окна");
    if (hWnd) {
        TRect Rect;
        GetWindowRect(hWnd, &Rect);
        HDC DC = GetWindowDC(hWnd);
        if (DC) {
            Graphics::TBitmap* BMP = new Graphics::TBitmap();
            BMP->Width = Rect.Width();
            BMP->Height = Rect.Height();
            BitBlt(BMP->Canvas->Handle, 0, 0, Rect.Width(), Rect.Height(), DC, 0, 0, SRCCOPY);
            ReleaseDC(hWnd, DC);
            BYTE* p = (BYTE*)BMP->ScanLine[0];
            delete BMP;
            BMP = NULL;
        }
    }
 
Начинающий
Статус
Оффлайн
Регистрация
19 Июл 2017
Сообщения
76
Реакции[?]
9
Поинты[?]
0
Лучше уж так
C++:
    HWND hWnd = FindWindow(NULL, L"Тут заголовок окна");
    if (hWnd) {
        TRect Rect;
        GetWindowRect(hWnd, &Rect);
        HDC DC = GetWindowDC(hWnd);
        if (DC) {
            Graphics::TBitmap* BMP = new Graphics::TBitmap();
            BMP->Width = Rect.Width();
            BMP->Height = Rect.Height();
            BitBlt(BMP->Canvas->Handle, 0, 0, Rect.Width(), Rect.Height(), DC, 0, 0, SRCCOPY);
            ReleaseDC(hWnd, DC);
            BYTE* p = (BYTE*)BMP->ScanLine[0];
            delete BMP;
            BMP = NULL;
        }
    }
Какую библиотеку надо подключить?
 
Сверху Снизу