[DllImport("user32.dll")]
static extern int CallNextHookEx(IntPtr hhk, int nCode, IntPtr wParam,
IntPtr lParam);
// overload for use with LowLevelKeyboardProc
[DllImport("user32.dll")]
static extern int CallNextHookEx(IntPtr hhk, int nCode, WM wParam, [In]KBDLLHOOKSTRUCT lParam);
// overload for use with LowLevelMouseProc
[DllImport("user32.dll")]
static extern int CallNextHookEx(IntPtr hhk, int nCode, WM wParam, [In]MSLLHOOKSTRUCT lParam);
<DllImport("user32.dll")> _
Private Shared Function CallNextHookEx(ByVal hhk As IntPtr, ByVal nCode As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As Integer
End Function
' overload for use with LowLevelKeyboardProc
<DllImport("user32.dll")> _
Private Shared Function CallNextHookEx(ByVal hhk As IntPtr, ByVal nCode As Integer, ByVal wParam As WindowsMessages, <[In]()> ByVal lParam As KBDLLHOOKSTRUCT) As Integer
End Function
' overload for use with LowLevelMouseProc
<DllImport("user32.dll")> _
Private Shared Function CallNextHookEx(ByVal hhk As IntPtr, ByVal nCode As Integer, ByVal wParam As WindowsMessages, <[In]()> ByVal lParam As MSLLHOOKSTRUCT) As Integer
End Function
WindowsMessages,KBDLLHOOKSTRUCT,MSLLHOOKSTRUCT
hhk is ignored, so you can use IntPtr.Zero
I think the signatures are wrong. The return is IntPtr, not int. It is LRESULT in C++.
Please add some!
Please add some!
The ManagedWindowsApi project (http://mwinapi.sourceforge.net) provides a Hook class and subclasses for Journal hooks, Message hooks and Low-Level hooks.