KBDLLHOOKSTRUCT (Structures)
Last changed: -136.174.5.25

.
Summary
The KBDLLHOOKSTRUCT structure contains information about a low-level keyboard input event

C# Definition:

[StructLayout(LayoutKind.Sequential)]
public class KBDLLHOOKSTRUCT
{
    public UInt32 vkCode;
    public UInt32 scanCode;
    public UInt32 flags;
    public UInt32 time;
    public IntPtr dwExtraInfo;
}

Visual Basic 9 declaration

<StructLayout(LayoutKind.Sequential)> _

Public Structure KBDLLHOOKSTRUCT

    Public vkCode As Integer
    Public scanCode As Integer
    Public flags As KBDLLHOOKSTRUCTFlags
    Public time As Integer
    Public dwExtraInfo As IntPtr

End Structure

<Flags()> _

Public Enum KBDLLHOOKSTRUCTFlags As Integer

    LLKHF_EXTENDED = &H1
    LLKHF_INJECTED = &H10
    LLKHF_ALTDOWN = &H20
    LLKHF_UP = &H80

End Enum

VB Definition:

    <StructLayout(LayoutKind.Sequential)> _
    Public Class KBDLLHOOKSTRUCT
    public vkCode As UInt32
    public scanCode As UInt32
    public flags As UInt32
    public time As UInt32
    public dwExtraInfo As IntPtr
    End Class

Notes:

This is named "struct" to be consistent with the Windows API name, but it must be a class since it is passed as a pointer (AKA reference) in in SetWindowsHookEx and CallNextHookEx.

Documentation

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/hooks/hookreference/hookstructures/kbdllhookstruct.asp