WinAPI получить значок курсора мыши

Я хочу получить значок курсора в Windows. Я думаю, что язык, который я использую, здесь не очень важен, поэтому я просто напишу псевдокод с функциями WinAPI, которые я пытаюсь использовать:

<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>

Так что эта часть работает нормально, она рисует текущий курсор на активном окне. Но это не то, что я хочу. Я хочу получить массив пикселей, поэтому я должен нарисовать его в памяти.

Я пытаюсь сделать это так:

<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>

Почему GetPixel () не возвращает COLORREF? Что мне не хватает?

Я не очень разбираюсь в WinAPI, поэтому я, вероятно, совершил какую-то глупую ошибку.

Ответы на вопрос(1)

Ваш ответ на вопрос