# WriteConsoleInput

The WriteConsoleInput function writes data directly to the console input buffer.

    BOOL WriteConsoleInput(
      HANDLE hConsoleInput,
      CONST INPUT_RECORD *lpBuffer,
      DWORD nLength,
      LPDWORD lpNumberOfEventsWritten
    );

### Parameters

hConsoleInput
Handle to the console input buffer. The handle must have GENERIC_WRITE access.
lpBuffer
Pointer to an INPUT_RECORD buffer containing data to be written to the input buffer.
nLength
Specifies the number of input records to be written.
lpNumberOfEventsWritten
Pointer to a variable that receives the number of input records actually written.

### Return value

If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.

### Remarks

WriteConsoleInput places input records into the input buffer behind any pending events in the buffer. The input buffer grows dynamically, if necessary, to hold as many events as are written.

Windows NT/2000/XP/2003/Vista/2008/7

- This function uses either Unicode characters or 8-bit characters from the console's current code page. The console's code page defaults initially to the system's OEM code page. To change the console's code page, use the SetConsoleCP or SetConsoleOutputCP functions, or use the `chcp` or `mode con cp select=` commands.

See also:
INPUT_RECORD, ReadConsoleInput, SetConsoleCP, SetConsoleOutputCP, PeekConsoleInput