WinAPI pobiera ikonę kursora myszy
Chcę uzyskać ikonę kursora w systemie Windows. Myślę, że język, którego używam, nie jest tutaj bardzo ważny, więc napiszę pseudo kod z funkcjami WinAPI, których próbuję użyć:
<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>
Ta część działa dobrze, rysuje bieżący kursor w aktywnym oknie. Ale tego nie chcę. Chcę uzyskać tablicę pikseli, więc powinienem narysować ją w pamięci.
Próbuję to zrobić w ten sposób:
<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>
Dlaczego GetPixel () nie zwraca COLORREF? czego mi brakuje?
Nie jestem zbyt doświadczony w WinAPI, więc prawdopodobnie popełniłem jakiś głupi błąd.