När jag försöker kompilera denna koden får jag detta felmedelande: >Varför får jag detta felmedelande och vad kan jag göra för att slippa det? Som sagts härovan. Denna TypDeclaration måste vara med någonstans.Vad är fel med denna kod???????? ;)
    
    
<code>User-defined type not defined</code>
på raden som jag markerat med *****
Varför får jag detta felmedelande och vad kan jag göra för att slippa det?
Exemplet är hämtat ur en bok så jag tycker det borde fungera men är tacksam om ni kan komma med några råd.
<code>
Private hHook As Long
Public IsHooked As Boolean
Const VM_NULL = &H0
Public Declare Function InSendMessage Lib "user32" () As Long
Public Sub SetWndProcHook()
    If IsHooked Then
        MsgBox "Don't hook CALLWNDPROC twice or you will be unable to unhook it."
    Else
        ipPrevWndProc = SetWindowsHookEx(WH_CALLWNDPROC, AddressOf WndProc, 0, App.ThreadID)
        IsHooked = True
    End If
End Sub
Public Sub RemoveWndProcHook()
    Dim temp As Long
    temp = UnhookWindowsHookEx(lpPrevWndProc)
    IsHooked = False
End Sub
*****Public Function WndProc(ByVal uCode As Long, ByVal wParam As Long, lParam As CWPSTRUCT) As Long
    If lParam.message = WM_NULL Then
        Select Case uCode
            Case HC_ACTION
                Form2.Text1.Text = Form2.Text1.Text & "MSG:" & Hex$(lParam.message) _
                                    & "  HWND:" & Hex$(lParam.hWnd) _
                                    & "  WPARAM:" & Hex$(lParam.wParam) _
                                    & "  LPARAM:" & Hex$(lParam.lParam) _
                                    & "  CURRTHREAD:" & wParam _
                                    & "  InSM:" & InSendMessage() & vbNewLine
                DoEvents
            Case Else
        End Select
    End If
    
    WndProc = callNextHookEx(lpPrevWndProc, uCode, wParam, lParam)
End Function
                                    
                                    
End Function
</code>
MVH Henrik LSv: Vad är fel med denna kod???????? ;)
    
    
förmodligen för att du inte har definierat CWPSTRUCT. Den måste ju vara definierad nånstans i ditt exempel...Sv: Vad är fel med denna kod???????? ;)
    
    
Förslagsvis här.
<code>
Option Explicit
Public Type CWPSTRUCT '******** Här
        lParam As Long
        wParam As Long
        message As Long
        hwnd As Long
End Type
Private hHook As Long 
Public IsHooked As Boolean 
Const VM_NULL = &H0 
Public Declare Function InSendMessage Lib "user32" () As Long 
' osv
</code>
Nyfiken vad skall hända när det funkar ?