As indicated, the SetSystemCursor () function already destroys the passed cursor, so destroying it again will have no effect.
You will need to save a copy of the old cursor so that you can restore it later:
// Global Variables:
HCURSOR hOldCursor;
...
hOldCursor = CopyCursor(LoadCursor(NULL, MAKEINTRESOURCE(IDC_ARROW)));
HCURSOR hNewCursor = CopyCursor(LoadCursor(hInstance, MAKEINTRESOURCE(IDC_MYCURSOR)));
SetSystemCursor(hNewCursor, OCR_NORMAL);
And restore it as follows:
SetSystemCursor(hOldCursor, OCR_NORMAL);
DestroyCursor(hOldCursor);
hOldCursor = NULL;
, , . . , , .