Maybe a bug or a problem on the description, but... #include <MsgBoxConstants.au3>
Sleep(3000) ; Allow time for the cursor to change its state.
; Create an array of possible cursor states using StringSplit.
Local $aArray = StringSplit("Hand|AppStarting|Arrow|Cross|Help|IBeam|Icon (obsolete)|No|" & _
"Size (obsolete)|SizeAll|SizeNESW|SizeNS|SizeNWSE|SizeWE|UpArrow|Wait|Empty", "|", 2) ; The flag parameter is set to flag = 2 as we don't require the total count of the array.
#cs
The array returned will contain the following values:
$aArray[0] = "Hand"
$aArray[1] = "AppStarting"
$aArray[2] = "Arrow"
...
$aArray[16] = "Empty"
#ce
Local $iCursor = MouseGetCursor()
MsgBox($MB_SYSTEMMODAL, "CursorID = " & $iCursor, "Which means " & $aArray[$iCursor] & ".") ; Use the CursorID value as the index value of the array
This code is the same from the MouseGerCursor help example, only I changed the sleep time (in order to allow proper time to sit the cursor to test. When I sit it over a hyperlink (which shows me a hand) it returns "16" to me, when should be returning "0", according to the help file. I didn't find something this specific in the forum history, only this https://www.autoitscript.com/forum/topic/173218-solved-guisetcursor/#comment-1253063 which doesn't say much. Tested on Win7, 8 and 10. Same thing. Help file link: https://www.autoitscript.com/autoit3/docs/functions/MouseGetCursor.htm Forgive the small fish - I - in case he is missing something obvious.