过去几天我一直在寻找答案,但我找不到答案,希望你能帮助我。
基本上,我正在尝试制作一个程序,当全屏程序中的一个特定像素变为红色时启动倒计时。我尝试过使用windows.h中的GetPixel()函数,但是当应用程序处于全屏模式时(255 255 255),该函数总是返回一个白色像素。我真的不想使用.NET CopyFromScreen(),因为我还没有得到如何使用C ++的线索。
以下是我如何使用它:
#include <stdio.h>
#include "sdl.h"
#include <Windows.h>
int main(int argc, char *args[])
{
//Variables
COLORREF Pixel1;
HDC handle = GetDC(NULL);
while(1) //Using this loop for testing only
{
Pixel1 = GetPixel(handle, 950, 15);
fprintf(stdout, "%d %d %d", GetRValue(Pixel1), GetGValue(Pixel1), GetBValue(Pixel1));
}
return 0;
}
是否有另一种方法可以从全屏窗口获取单个像素?
提前致谢 顺便说一句,对不起,如果没有语法,那就疯狂了。
编辑:经过几次尝试后,看起来颜色实际上是全屏应用程序后面的窗口颜色。那么,有没有办法使用全屏的GetPixel()?我错过了什么吗?