GCL_HCURSOR

GCL_HCURSORで、既定のカーソルハンドルを取得できる。

GetClassLongA function (winuser.h) - Win32 apps | Microsoft Docs
補助メモリ

で、それはそれとして、実はクラス拡張メモリを使うと、既定のカーソルハンドルじゃなくても、SetClassLongで保存や、GetClassLongで取り出しが出来たりする。
クラス拡張メモリは、ウィンドウクラス定義の

この部分。
今回は既定じゃないカーソルをひとつ保存しておきたいので、HCURSORが1つ分のサイズを拡張。
WM_CREATEで、

クロスカーソルをロードして、SetClassLongで、0の位置にハンドルをセット。
GCL_HCURSORとかのマクロは、負の値で定義されているので、正の値の部分はクラス拡張メモリをサイズ分定義していれば、その分だけ使える。
4バイト確保したうちの先頭なので0。

WM_LBUTTONDOWNで、クロスカーソルはGetClassLongに0を指定して取得。
既定のアローカーソルは、GCL_HCURSOR。
ウェイトカーソルは、ロードする。

クロス
クロス

クロス、

アロー
アロー

アロー、

ウェイト
ウェイト

ウェイト。
ということで、GCL_HCURSOR"じゃなくても"保存できるという話。

Sample/winapi/GetClassLong/GCL_HCURSOR/src/GCL_HCURSOR at master · bg1bgst333/Sample · GitHub