Try this. Make a Form with a CommandButton and a CommonDialog and put this code into the Form.
Code:
Private Declare Function LoadCursorFromFile Lib "User32" Alias "LoadCursorFromFileA" (ByVal lpFileName As String) As Long
Private Declare Function SetClassLong Lib "User32" Alias "SetClassLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Const GCL_HCURSOR = (-12)
Dim prevCur As Long
Dim MyCursor As Long
Private Sub Command1_Click()
Dim OpenFile As String
CommonDialog1.Filter = "Animated Cursors (*.ani)|*.ani"
CommonDialog1.ShowOpen
OpenFile = CommonDialog1.filename
MyCursor = LoadCursorFromFile(OpenFile)
prevCur = SetClassLong(Me.hwnd, GCL_HCURSOR, MyCursor)
End Sub
Private Sub Form_Unload(Cancel As Integer)
prevCur = SetClassLong(Me.hwnd, GCL_HCURSOR, hOldCursor)
End Sub