Results 1 to 2 of 2

Thread: Windows Message

  1. #1

    Thread Starter
    New Member
    Join Date
    Nov 2000
    Posts
    3

    Post

    I'm trying to intercept a windows message using VB. I wnat to access the lParam and wParam of a Windows Message. how should i proceed

  2. #2
    Frenzied Member Vlatko's Avatar
    Join Date
    Aug 2000
    Location
    Skopje, Macedonia
    Posts
    1,409
    You need to subclass the window
    Code:
    'in module
    Public oldp As Long
    Public Const GWL_WNDPROC = (-4)
    Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Public 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 Function WindowProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    If uMsg = WM_MOVE Then 'example
        If wParam = SomeValue
            'Do Something
        End If
    End If
    WindowProc = CallWindowProc(oldp, hwnd, uMsg, wParam, lParam)
    End Function
    
    
    'in a form
    Private Sub Form_Load()
    oldp = SetWindowLong(Form1.hwnd, GWL_WNDPROC, AddressOf WindowProc)
    End Sub
    
    Private Sub Form_Unload(Cancel As Integer)
    SetWindowLong(Form1.hwnd, GWL_WNDPROC,oldp)
    End Sub
    I am become death, the destroyer of worlds.
    mail:[email protected]

    • Visual Basic 6.0 & .NET
    • Visual C++ 6.0 & .NET
    • ASP
    • LISP
    • PROLOG
    • C
    • Pascal

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width