I've not done much API work or subclassing...

So I'm curious what this does:
VB Code:
  1. WindowProc = CallWindowProc(LocalPrevWndProc.Item("#" & Lwnd), Lwnd, Lmsg, Wparam, Lparam)
I'm already doing this in my app:

VB Code:
  1. Public Function WndProc(ByVal hwnd As Long, _
  2.         ByVal wMsg As Long, ByVal wParam As Long, _
  3.         ByVal lParam As Long) As Long
  4.        
  5.   'Let the window process messages as well
  6.   WndProc = CallWindowProc(m_lPrevProc, hwnd, wMsg, wParam, lParam)
  7.  
  8.   'See what message has been sent to the window
  9.   If wMsg = WM_ACTIVATEAPP Then
  10.     'It's the activateapp message so call the sub on the form
  11.     Call m_frmHooked.AppFocus(CBool(wParam))
  12.   End If
  13.  
  14.   If wMsg = WM_MOUSEWHEEL Then
  15.     Call MsgBox("test")
  16.   End If
  17. End Function
So I need to add your MOUSEWHEEL message check to this existing routine - and it's already working to call the MSGBOX when I use the wheel...