【发布时间】:2014-01-13 17:17:53
【问题描述】:
现在我有一个完全是空白黄色的窗口。出于某种原因,当我调用 GetPixel() 时,我只得到 0xFFFFFFFF (CLR_INVALID)。 这是我的最小化代码:
HWND _hwndPP = FindWindow(NULL, "Test Window");
COLORREF hdcScreen = GetDC(_hwndPP);
printf("%X", GetPixel(hdcScreen, 10, 10));
ReleaseDC(_hwndPP, hdcScreen);
编辑: 将 COLORREF 更改为 HDC,它并没有改变任何东西。 是的,我运行的是 64 位系统。这是否意味着我不能使用此功能?如果是这样,我将如何检查特定像素的颜色?
【问题讨论】:
-
hdcScreen必须是HDC类型。另外,您检查过返回值(FindWindow 和 GetDC)吗? -
真的返回 0x00FFFFFF(纯白)还是 0xFFFFFFFF (
CLR_INVALID) -
GetDC返回HDC,而不是COLORREF。改为将变量声明为HDC,并将正确的HDC类型变量传递给GetPixel。如有疑问,请查看 MSDN 上的文档。 -
添加了更多信息。
标签: c