我有窗口手柄,我需要获得像素颜色。
#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);
}
Debuging说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来检查比较吗?怎么样?
答案 0 :(得分:0)
我使用不同的代码来实现它的工作!
HDC hDC = CreateDC(L"DISPLAY",0,0,0);
COLORREF rgb5 = GetPixel(hDC,24,507);