WinAPI obtiene el icono del cursor del mouse

Quiero obtener el icono del cursor en Windows. Creo que el lenguaje que uso no es muy importante aquí, así que solo escribiré un pseudo código con las funciones de WinAPI que estoy tratando de usar

<code>c = CURSORINFO.new(20, 1, 1, POINT.new(1,1));
GetCursorInfo(c); #provides correctly filled structure with hCursor

DrawIcon(GetWindowDC(GetForegroundWindow()), 1, 1, c.hCursor);
</code>

Así que esta parte funciona bien, dibuja el cursor actual en la ventana activa. Pero eso no es lo que quiero. Quiero obtener una matriz de píxeles, por lo que debería dibujarla en la memoria.

Estoy tratando de hacerlo así:

<code>hdc = CreateCompatibleDC(GetDC(0)); #returns non-zero int
canvas = CreateCompatibleBitmap(hdc, 256, 256); #returns non-zero int too

c = CURSORINFO.new(20, 1, 1, POINT.new(1,1));
GetCursorInfo(c);

DrawIcon(hdc, 1, 1, c.hCursor); #returns 1
GetPixel(hdc, 1, 1); #returns -1
</code>

¿Por qué GetPixel () no devuelve COLORREF? ¿Qué me estoy perdiendo?

No tengo mucha experiencia con WinAPI, así que probablemente estoy cometiendo un error estúpido.

Respuestas a la pregunta(1)

Su respuesta a la pregunta