WinAPI GetCursorInfo 奇怪的问题

GetCursorInfo 这个API是用于取得Windows当前光标属性的,测试时发现在XP下的值是和WIN7下的值不一样的:

如下是XP下的定义:

[StructLayout(LayoutKind.Sequential)]
public struct POINT
{
    public Int32 x;
    public Int32 y;
}

[StructLayout(LayoutKind.Sequential)]
public struct CURSORINFO
{
    public Int32 cbSize;
    public Int32 flags;

    /*
     * Default:    65553
     * Input:      65555
     * Move:       65571
     * SizeWE:     65567
     * SizeNS:     65569
     * SizeNWSE:   65565
     * SizeNESW:   65563
     **/
    public IntPtr hCursor;    
    public POINT ptScreenPos;
}

 

而在WIN7下,每个hCursor的值要小14,比如Move型光标在WIN7下值是65557,其它的几个也是一样。

 

M老大也不告诉我们原因,唉,让人痛苦的Windows。