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 ?