我一直在尝试解决Windows Cursors的问题。我已经成功将注册表值与鼠标属性对话框中给定的各种光标类型的名称相匹配(通过控制面板访问)。
例如,注册表称为“AppStarting”的光标,在鼠标属性对话框中称为“正在后台工作”光标,等等。
我的问题在于使用Java设置这些光标,因为其中许多光标似乎没有常量。在Cursor.java中定义了各种光标:
例如,注册表称为“AppStarting”的光标,在鼠标属性对话框中称为“正在后台工作”光标,等等。
我的问题在于使用Java设置这些光标,因为其中许多光标似乎没有常量。在Cursor.java中定义了各种光标:
public static final int DEFAULT_CURSOR = 0;
public static final int CROSSHAIR_CURSOR = 1;
public static final int TEXT_CURSOR = 2;
public static final int WAIT_CURSOR = 3;
public static final int SW_RESIZE_CURSOR = 4;
public static final int SE_RESIZE_CURSOR = 5;
public static final int NW_RESIZE_CURSOR = 6;
public static final int NE_RESIZE_CURSOR = 7;
public static final int N_RESIZE_CURSOR = 8;
public static final int S_RESIZE_CURSOR = 9;
public static final int W_RESIZE_CURSOR = 10;
public static final int E_RESIZE_CURSOR = 11;
public static final int HAND_CURSOR = 12;
public static final int MOVE_CURSOR = 13;
但是,在一些测试后,有几个注册表值没有对应的定义。例如,注册表中的“App Starting”、“Help”、“No”、“NWPen”、“Person”、“Pin”和“UpArrow”条目没有对应的定义(它们不仅仅是在13之后的整数;当我使用14作为值时,我遇到了违规情况)。
更令人惊讶的是,注册表“Hand”值实际上并不对应于HAND_CURSOR值。为HAND_CURSOR定义设置新的光标并不能改变存储在“Hand”键下注册表中的值。
那么,如何使用Java设置AppStarting光标值呢?
信息: Windows 10 64位 jdk1.8.0_151