WinAPI obtém o ícone do cursor do mouse

Eu quero pegar o ícone do cursor no Windows. Eu acho que a linguagem que eu uso não é muito importante aqui, então vou apenas escrever um pseudocódigo com funções WinAPI que estou tentando 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>

Então esta parte funciona bem, ela desenha o cursor atual na janela ativa. Mas não é isso que eu quero. Eu quero obter uma matriz de pixels, então eu deveria desenhar na memória.

Estou tentando fazer assim:

<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 que GetPixel () não retorna COLORREF? o que estou perdendo?

Eu não sou muito experiente com WinAPI, então provavelmente estou cometendo algum erro estúpido.

questionAnswers(1)

yourAnswerToTheQuestion