MOUSE_EVENT_RECORD (Structures)
Last changed: -79.206.152.209

.
Summary
The MOUSE_EVENT_RECORD structure is used in a console INPUT_RECORD structure to report mouse input events.

C# Definition:

    [StructLayout( LayoutKind.Explicit )]
    public struct MOUSE_EVENT_RECORD
    {
        [FieldOffset( 0 )]
        public COORD dwMousePosition;
        [FieldOffset( 4 )]
        public uint dwButtonState;
        [FieldOffset( 8 )]
        public uint dwControlKeyState;
        [FieldOffset( 12 )]
        public uint dwEventFlags;
    }

VB Definition:

    <StructLayout(LayoutKind.Explicit)> _
    Public Structure MOUSE_EVENT_RECORD
    <FieldOffset(0)> Public dwMousePosition As COORD
    <FieldOffset(4)> Public dwButtonState As UInteger
    <FieldOffset(8)> Public dwControlKeyState As UInteger
    <FieldOffset(12)> Public dwEventFlags As UInteger
    End Structure

User-Defined Field Types:

None.

UPDATE:

This started working once I changed the FOCUS_EVENT_RECORD to take a uint rather than a bool. Prior to that MOUSE_EVENT_RECORD.dwMousePosition.X was always 0

Documentation