从全屏窗口捕获单个像素

时间:2016-08-14 16:39:37

标签: c winapi

过去几天我一直在寻找答案,但我找不到答案,希望你能帮助我。

基本上,我正在尝试制作一个程序,当全屏程序中的一个特定像素变为红色时启动倒计时。我尝试过使用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()?我错过了什么吗?

0 个答案:

没有答案