Getpixel () из внешнего дескриптора окна MFC

У меня есть дескриптор окна, и мне нужно получить цвет пикселя.

#include "Globals.h"void MainHamsterDlg::OnTimer(UINT nIDEvent)
{
Sleep(4000);
HDC hDC = ::GetDC(tempHWND);
COLORREF rgb = GetPixel(hDC,351,515);

if(GetPixel(hDC,351,515) == RGB(33,30,28))
AfxMessageBox(L"Please select or write correct name!");

::ReleaseDC(tempHWND, hDC);

CDialog::OnTimer(nIDEvent);
}

Отговорка говорит, что COLORREF rgb = GetPixel(hDC,351,515); получает значение 3225917 мне нужно конвертировать в RGB, чтобы проверить для сравнения?
Я не понимаю, что не так, потому что я новичок в MFC.

#include "Globals.h"void WaitProcessDlg::OnTimer(UINT nIDEvent)
{
if(::FindWindow(NULL, str)){
tempHWND = ::FindWindow(NULL, str);
::SetWindowText(tempHWND, L"Weather");
EndDialog( 0 );
KillTimer(IDC_PROGRESS1);
}
CDialog::OnTimer(nIDEvent);
}

Здесь ручка окна и ее ручка окна. Я проверил с изменением названия.

Я использую Globals для переноса дескриптора окна из одного диалогового окна в другое.

Globals.h
-------------------
#pragma once
extern HWND tempHWND;
--------------------

Итак, мой вопрос: мне нужно конвертировать в RGB, чтобы проверить для сравнения? и как?

1

Решение

Я использую другой код, чтобы сделать это и его работу!

HDC hDC = CreateDC(L"DISPLAY",0,0,0);
COLORREF rgb5 = GetPixel(hDC,24,507);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]