I've been trying to work out the Windows Cursors. I've successfully matched the Registry values to the names given to the various cursor types in the Mouse Properties dialog (the one accessed via the Control Panel).
For example, what the Registry calls the 'AppStarting' cursor, the Mouse Properties dialog calls the 'Working In Background' cursor, and so on.
Where I'm having trouble is using Java to set those cursors, because for many of them there doesn't appear to be a constant. In Cursor.java the various cursors are defined:
publicstaticfinalint DEFAULT_CURSOR =0;
publicstaticfinalint CROSSHAIR_CURSOR =1;
publicstaticfinalint TEXT_CURSOR =2;
publicstaticfinalint WAIT_CURSOR =3;
publicstaticfinalint SW_RESIZE_CURSOR =4;
publicstaticfinalint SE_RESIZE_CURSOR =5;
publicstaticfinalint NW_RESIZE_CURSOR =6;
publicstaticfinalint NE_RESIZE_CURSOR =7;
publicstaticfinalint N_RESIZE_CURSOR =8;
publicstaticfinalint S_RESIZE_CURSOR =9;
publicstaticfinalint W_RESIZE_CURSOR =10;
publicstaticfinalint E_RESIZE_CURSOR =11;
publicstaticfinalint HAND_CURSOR =12;
publicstaticfinalint MOVE_CURSOR =13;But, after some testing, there are several registry values to which none of them correspond. For example, the registry 'App Starting', 'Help', 'No', 'NWPen', 'Person', 'Pin' and 'UpArrow' entries have no corresponding definition (and they're not just the ints after 13; I got a violation when I used 14 as the value).
More surprisingly, the registry 'Hand' value doesn't actually correspond to the HAND_CURSOR value. Setting a new cursor for the HAND_CURSOR definition doesn't change the value stored in the registry for the 'Hand' key.
So how do I set, say, the AppStarting cursor value using Java?
Info: Windows 10 64-bit jdk1.8.0_151