Option ExplicitPublic Declare function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Declare function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Public Declare function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Const GWL_WNDPROC = -4&
Public Const WM_MOUSEWHEEL = &H20APublic Declare function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Public Declare function WindowFromPoint Lib "user32" (ByVal xPoint As Long, ByVal yPoint As Long) As Long
Public Type POINTAPI
        x As Long
        y As Long
End TypePublic OldWindowProc As Long '用来保存系统默认的窗口消息处理函数的地址
Public hwndTextBox As Long '用来保存Text1控件的句柄'自定义的消息处理函数
Public function NewWindowProc(ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    On Error Resume Next
    If Msg = WM_MOUSEWHEEL Then
        '下面得到鼠标位置处的对象的句柄
        Dim CurPoint As POINTAPI, hwndUnderCursor As Long
        GetCursorPos CurPoint
        hwndUnderCursor = WindowFromPoint(CurPoint.x, CurPoint.y)
        '如果鼠标位于Form1.Text1内部,则对鼠标滚轮事件进行处理
        If hwndUnderCursor = hwndTextBox Then
            If wParam = -7864320 Then '向下滚动
                Form1.Text1 = CInt(Form1.Text1) - 1
            ElseIf wParam = 7864320 Then '向上滚动
                Form1.Text1 = CInt(Form1.Text1) + 1
            End If
        End If
    Else
        '调用Text1的默认窗口消息处理函数
        NewWindowProc = CallWindowProc(OldWindowProc, hwnd, Msg, wParam, lParam)
    End If
End Function2.在Form页面上放置一个Text1控件,在Form_Load事件中写入如下代码:
Private Sub Form_Load()
    Text1 = 0
    '取得Text1控件的句柄
    hwndTextBox = Text1.hwnd
    '保存Text1控件的默认窗口消息处理函数地址
    OldWindowProc = GetWindowLong(Text1.hwnd, GWL_WNDPROC)
    '将Text1控件的消息处理函数指定为自定义函数NewWindowProc
    Call SetWindowLong(Text1.hwnd, GWL_WNDPROC, AddressOf NewWindowProc)
   
End Sub3.运行,在Text1控件上面滚动鼠标滚轮,就可以发现Text的文本发生相应改变。
这个代码这能 获取 空间上的 如何能获取全局鼠标滚轮时间像快捷键