Permanentní změna systémového kurzoru

Postup:
Private Declare Function SetSystemCursor Lib "user32.dll" _
   (ByVal hcur As Long, ByVal id As Long) As Long
Private Declare Function LoadCursorFromFile Lib "user32" _
   Alias "LoadCursorFromFileA" (ByVal lpFileName As String) As Long

Public Enum eCursorType
   ecAppStarting = 32650
'Startování aplikace (šipka a hodiny)
   ecCross = 32515
'Kříž
   ecIBeam = 32513
'Textový výběr (I-beam)
   ecIcon = 32641
'Prázdná ikona (pouze Win NT)
   ecNo = 32648
'Kružnice s lomítkem - zákaz
   ecNormal = 32512
'Normální šipka
   ecSize = 32640
'Šipky do stran (jen Win NT)
   ecSizeAll = 32646
'Šipky do stran
   ecSizeNESW = 32643
'Dvojitá šipka dolů a nahoru šikmo
   ecSizeNS = 32645
'Dvojitá šipka dolů a nahoru
   ecSizeNWSE = 32642
'Dvojitá šipka nahoru a dolu šikmo
   ecSizeWE = 32644
'Dvojitá šipka doleva a doprava
   ecUp = 32516
'Šipka vzhůru
   ecWait = 32514
'Kurzor čekání (hodiny)
End Enum

Function SystemCursor(sCursorPath As String, _
   eSysCursorType As eCursorType) As Boolean

   Dim lhwndNewCursor As Long

   If Len(Dir$(sCursorPath)) > 0 And Len(sCursorPath) > 0 Then
      lhwndNewCursor = LoadCursorFromFile(sCursorPath)
      SystemCursor = CBool(SetSystemCursor(lhwndNewCursor, _
       eSysCursorType)) 'Returns 1 if successful, or 0 if an error occured
   End If

End Function

Zpět

Autor: The Bozena