How to get the color of the pixel under the cursor?

I need a quick command line application to return the pixel color under the mouse cursor.

How can I build this in VC ++, I need something similar to this , but ideally not in .NET, so it can be run many times per second?

+4
source share
1 answer

From head to head, right:

#include <stdio.h> #include <Windows.h> int main(void) { POINT p; COLORREF color; HDC hDC; BOOL b; // Get the device context for the screen hDC = GetDC(NULL); if (hDC == NULL) return 3; // Get the current cursor position b = GetCursorPos(&p); if (!b) return 2; // Retrieve the color at that position color = GetPixel(hDC, px, py); if (color == CLR_INVALID) return 1; // Release the device context again ReleaseDC(GetDesktopWindow(), hDC); printf("%i %i %i", GetRValue(color), GetGValue(color), GetBValue(color)); return 0; } 

ETA: Appears to work, at least for me.

ETA2: Added some error checking

ETA3: Commented code, compiled executable, and Visual Studio solution can be found in my SVN repository .

+12
source

Source: https://habr.com/ru/post/1313305/


All Articles