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, поэтому я, вероятно, совершил какую-то глупую ошибку.