Te envio este codigo acerca de cursor animado
Option Explicit
Dim mhBaseCursor As Long, mhAniCursor As Long
Dim mhBaseCursor2 As Long, mhAniCursor2 As Long
Dim state As Integer
Private Sub Command1_Click()
Dim lResult As Long
mhAniCursor = LoadCursorFromFile("c:\win95\cursors\appstart.ani")
lResult = SetClassLong((hwnd), GCL_HCURSOR, mhAniCursor)
state = 1
mhAniCursor2 = LoadCursorFromFile("c:\win95\cursors\Pen_1.cur")
lResult = SetClassLong((Text1.hwnd), GCL_HCURSOR, mhAniCursor2)
state = 1
End Sub
Private Sub Command2_Click()
Dim lResult As Long
lResult = SetClassLong((hwnd), GCL_HCURSOR, mhBaseCursor)
lResult = DestroyCursor(mhAniCursor)
lResult = SetClassLong((Text1.hwnd), GCL_HCURSOR, mhBaseCursor2)
lResult = DestroyCursor(mhAniCursor2)
state = 0
End Sub
Private Sub Form_Load()
mhBaseCursor = GetClassLong((hwnd), GCL_HCURSOR)
mhBaseCursor2 = GetClassLong((hwnd), GCL_HCURSOR)
End Sub
Private Sub Form_Unload(Cancel As Integer)
If state Then Command2_Click
End Sub
Modulo Module1.bas
Option Explicit
Public Const GCL_HCURSOR = -12
Declare Function ClipCursor Lib "user32" (lpRect As Any) As Long
Declare Function DestroyCursor Lib "user32" (ByVal hCursor As Any) As Long
Declare Function LoadCursorFromFile Lib "user32" Alias "LoadCursorFromFileA" (ByVal lpFileName As String) As Long
Declare Function SetClassLong Lib "user32" Alias "SetClassLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Declare Function GetClassLong Lib "user32" Alias "GetClassLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Nota.- Si necesitas que te lo expique avisame..