Wincon (JNA API)
Description: declaration: package: com.sun.jna.platform.win32, interface: Wincon

Package com.sun.jna.platform.win32

# Interface Wincon

All Known Subinterfaces:
  `Kernel32`

public interface Wincon
Ported from Wincon.h.

Author:
  lgoldstein

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Interface
  Description
  `static class`
  `Wincon.CONSOLE_SCREEN_BUFFER_INFO`
  CONSOLE_SCREEN_BUFFER_INFO structure
  `static class`
  `Wincon.COORD`
  COORD structure
  `static class`
  `Wincon.INPUT_RECORD`
  INPUT_RECORD structure
  `static class`
  `Wincon.KEY_EVENT_RECORD`
  KEY_EVENT_RECORD structure
  `static class`
  `Wincon.MOUSE_EVENT_RECORD`
  MOUSE_EVENT_RECORD structure
  `static class`
  `Wincon.SMALL_RECT`
  SMALL_RECT structure
  `static class`
  `Wincon.WINDOW_BUFFER_SIZE_RECORD`
  WINDOW_BUFFER_SIZE_RECORD structure

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `ATTACH_PARENT_PROCESS`
  `static final int`
  `CONSOLE_FULLSCREEN`
  `static final int`
  `CONSOLE_FULLSCREEN_HARDWARE`
  `static final int`
  `CTRL_BREAK_EVENT`
  `static final int`
  `CTRL_C_EVENT`
  `static final int`
  `DISABLE_NEWLINE_AUTO_RETURN`
  `static final int`
  `ENABLE_ECHO_INPUT`
  `static final int`
  `ENABLE_EXTENDED_FLAGS`
  `static final int`
  `ENABLE_INSERT_MODE`
  `static final int`
  `ENABLE_LINE_INPUT`
  `static final int`
  `ENABLE_MOUSE_INPUT`
  `static final int`
  `ENABLE_PROCESSED_INPUT`
  `static final int`
  `ENABLE_PROCESSED_OUTPUT`
  `static final int`
  `ENABLE_QUICK_EDIT_MODE`
  `static final int`
  `ENABLE_VIRTUAL_TERMINAL_INPUT`
  `static final int`
  `ENABLE_VIRTUAL_TERMINAL_PROCESSING`
  `static final int`
  `ENABLE_WINDOW_INPUT`
  `static final int`
  `ENABLE_WRAP_AT_EOL_OUTPUT`
  `static final int`
  `MAX_CONSOLE_TITLE_LENGTH`
  `static final int`
  `STD_ERROR_HANDLE`
  `static final int`
  `STD_INPUT_HANDLE`
  `static final int`
  `STD_OUTPUT_HANDLE`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `AllocConsole()`
  Allocates a new console for the calling process.
  `boolean`
  `AttachConsole(int dwProcessId)`
  Attaches the calling process to the console of the specified process
  `boolean`
  `FlushConsoleInputBuffer(WinNT.HANDLE hConsoleInput)`
  Flushes the console input buffer.
  `boolean`
  `FreeConsole()`
  Detaches the calling process from its console
  `boolean`
  `GenerateConsoleCtrlEvent(int dwCtrlEvent, int dwProcessGroupId)`
  Sends a specified signal to a console process group that shares the console associated with the calling process.
  `int`
  `GetConsoleCP()`
  `boolean`
  `GetConsoleDisplayMode(IntByReference lpModeFlags)`
  Retrieves the display mode of the current console
  `boolean`
  `GetConsoleMode(WinNT.HANDLE hConsoleHandle, IntByReference lpMode)`
  `int`
  `GetConsoleOriginalTitle(char[] lpConsoleTitle, int nSize)`
  `int`
  `GetConsoleOutputCP()`
  `boolean`
  `GetConsoleScreenBufferInfo(WinNT.HANDLE hConsoleOutput, Wincon.CONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo)`
  Retrieves information about the specified console screen buffer.
  `int`
  `GetConsoleTitle(char[] lpConsoleTitle, int nSize)`
  `WinDef.HWND`
  `GetConsoleWindow()`
  `boolean`
  `GetNumberOfConsoleInputEvents(WinNT.HANDLE hConsoleInput, IntByReference lpcNumberOfEvents)`
  `boolean`
  `GetNumberOfConsoleMouseButtons(IntByReference lpNumberOfMouseButtons)`
  `WinNT.HANDLE`
  `GetStdHandle(int nStdHandle)`
  `boolean`
  `ReadConsoleInput(WinNT.HANDLE hConsoleInput, Wincon.INPUT_RECORD[] lpBuffer, int nLength, IntByReference lpNumberOfEventsRead)`
  Reads data from a console input buffer and removes it from the buffer.
  `boolean`
  `SetConsoleCP(int wCodePageID)`
  `boolean`
  `SetConsoleMode(WinNT.HANDLE hConsoleHandle, int dwMode)`
  `boolean`
  `SetConsoleOutputCP(int wCodePageID)`
  `boolean`
  `SetConsoleTitle(String lpConsoleTitle)`
  `boolean`
  `SetStdHandle(int nStdHandle, WinNT.HANDLE hHandle)`
  `boolean`
  `WriteConsole(WinNT.HANDLE hConsoleOutput, String lpBuffer, int nNumberOfCharsToWrite, IntByReference lpNumberOfCharsWritten, WinDef.LPVOID lpReserved)`
  Writes a character string to a console screen buffer beginning at the current cursor location.

- ## Field Details

  - ### ATTACH_PARENT_PROCESS

    static final int ATTACH_PARENT_PROCESS
    See Also:
      - Constant Field Values

  - ### CTRL_C_EVENT

    static final int CTRL_C_EVENT
    See Also:
      - Constant Field Values

  - ### CTRL_BREAK_EVENT

    static final int CTRL_BREAK_EVENT
    See Also:
      - Constant Field Values

  - ### STD_INPUT_HANDLE

    static final int STD_INPUT_HANDLE
    See Also:
      - Constant Field Values

  - ### STD_OUTPUT_HANDLE

    static final int STD_OUTPUT_HANDLE
    See Also:
      - Constant Field Values

  - ### STD_ERROR_HANDLE

    static final int STD_ERROR_HANDLE
    See Also:
      - Constant Field Values

  - ### CONSOLE_FULLSCREEN

    static final int CONSOLE_FULLSCREEN
    See Also:
      - Constant Field Values

  - ### CONSOLE_FULLSCREEN_HARDWARE

    static final int CONSOLE_FULLSCREEN_HARDWARE
    See Also:
      - Constant Field Values

  - ### ENABLE_PROCESSED_INPUT

    static final int ENABLE_PROCESSED_INPUT
    See Also:
      - Constant Field Values

  - ### ENABLE_LINE_INPUT

    static final int ENABLE_LINE_INPUT
    See Also:
      - Constant Field Values

  - ### ENABLE_ECHO_INPUT

    static final int ENABLE_ECHO_INPUT
    See Also:
      - Constant Field Values

  - ### ENABLE_WINDOW_INPUT

    static final int ENABLE_WINDOW_INPUT
    See Also:
      - Constant Field Values

  - ### ENABLE_MOUSE_INPUT

    static final int ENABLE_MOUSE_INPUT
    See Also:
      - Constant Field Values

  - ### ENABLE_INSERT_MODE

    static final int ENABLE_INSERT_MODE
    See Also:
      - Constant Field Values

  - ### ENABLE_QUICK_EDIT_MODE

    static final int ENABLE_QUICK_EDIT_MODE
    See Also:
      - Constant Field Values

  - ### ENABLE_EXTENDED_FLAGS

    static final int ENABLE_EXTENDED_FLAGS
    See Also:
      - Constant Field Values

  - ### ENABLE_VIRTUAL_TERMINAL_PROCESSING

    static final int ENABLE_VIRTUAL_TERMINAL_PROCESSING
    See Also:
      - Constant Field Values

  - ### DISABLE_NEWLINE_AUTO_RETURN

    static final int DISABLE_NEWLINE_AUTO_RETURN
    See Also:
      - Constant Field Values

  - ### ENABLE_VIRTUAL_TERMINAL_INPUT

    static final int ENABLE_VIRTUAL_TERMINAL_INPUT
    See Also:
      - Constant Field Values

  - ### ENABLE_PROCESSED_OUTPUT

    static final int ENABLE_PROCESSED_OUTPUT
    See Also:
      - Constant Field Values

  - ### ENABLE_WRAP_AT_EOL_OUTPUT

    static final int ENABLE_WRAP_AT_EOL_OUTPUT
    See Also:
      - Constant Field Values

  - ### MAX_CONSOLE_TITLE_LENGTH

    static final int MAX_CONSOLE_TITLE_LENGTH
    See Also:
      - Constant Field Values

- ## Method Details

  - ### AllocConsole

    boolean AllocConsole()
    Allocates a new console for the calling process.
    Returns:
      `true` if successful - if `false` then use `GetLastError()` to get extended error information
    See Also:
      - AllocConsole documentation

  - ### FreeConsole

    boolean FreeConsole()
    Detaches the calling process from its console
    Returns:
      `true` if successful - if `false` then use `GetLastError()` to get extended error information
    See Also:
      - FreeConsole documentation

  - ### AttachConsole

    boolean AttachConsole(int dwProcessId)
    Attaches the calling process to the console of the specified process
    Parameters:
      `dwProcessId` - The identifier of the process whose console is to be used. Can be either the process ID or the special `ATTACH_PARENT_PROCESS` value to indicate the console of the parent of the current process.
    Returns:
      `true` if successful - if `false` then use `GetLastError()` to get extended error information
    See Also:
      - AttachConsole documentation

  - ### FlushConsoleInputBuffer

    boolean FlushConsoleInputBuffer(WinNT.HANDLE hConsoleInput)
    Flushes the console input buffer. All input records currently in the input buffer are discarded.
    Parameters:
      `hConsoleInput` - A handle to the console input buffer. The handle must have the GENERIC_WRITE access right.
    Returns:
      `true` if successful - if `false` then use `GetLastError()` to get extended error information
    See Also:
      - FlushConsoleInputBuffer documentation

  - ### GenerateConsoleCtrlEvent

    boolean GenerateConsoleCtrlEvent(int dwCtrlEvent, int dwProcessGroupId)
    Sends a specified signal to a console process group that shares the console associated with the calling process.
    Parameters:
      `dwCtrlEvent` - The type of signal to be generated.
      `dwProcessGroupId` - The identifier of the process group to receive the signal
    Returns:
      `true` if successful - if `false` then use `GetLastError()` to get extended error information
    See Also:
      - GenerateConsoleCtrlEvent documentation

  - ### GetConsoleCP

    int GetConsoleCP()
    Returns:
      Code that identifies the code page
    See Also:
      - Code page identifiers

  - ### SetConsoleCP

    boolean SetConsoleCP(int wCodePageID)
    Parameters:
      `wCodePageID` - The identifier of the code page to be set
    Returns:
      `true` if successful - if `false` then use `GetLastError()` to get extended error information
    See Also:
      - SetConsoleCP documentation

  - ### GetConsoleOutputCP

    int GetConsoleOutputCP()
    Returns:
      Retrieves the output code page used by the console associated with the calling process.
    See Also:
      - Code page identifiers

  - ### SetConsoleOutputCP

    boolean SetConsoleOutputCP(int wCodePageID)
    Parameters:
      `wCodePageID` - The output code page used by the console associated with the calling process.
    Returns:
      `true` if successful - if `false` then use `GetLastError()` to get extended error information
    See Also:
      - SetConsoleOutputCP documentation

  - ### GetConsoleWindow

    WinDef.HWND GetConsoleWindow()
    Returns:
      The window handle used by the console associated with the calling process

  - ### GetNumberOfConsoleInputEvents

    boolean GetNumberOfConsoleInputEvents(WinNT.HANDLE hConsoleInput, IntByReference lpcNumberOfEvents)
    Parameters:
      `hConsoleInput` - A handle to the console input buffer. The handle must have the GENERIC_READ access right
      `lpcNumberOfEvents` - A pointer to a variable that receives the number of unread input records in the console's input buffer
    Returns:
      `true` if successful - if `false` then use `GetLastError()` to get extended error information
    See Also:
      - GetNumberOfConsoleInputEvents documentation

  - ### GetNumberOfConsoleMouseButtons

    boolean GetNumberOfConsoleMouseButtons(IntByReference lpNumberOfMouseButtons)
    Parameters:
      `lpNumberOfMouseButtons` - A pointer to a variable that receives the number of mouse buttons
    Returns:
      `true` if successful - if `false` then use `GetLastError()` to get extended error information
    See Also:
      - GetNumberOfConsoleMouseButtons documentation

  - ### GetStdHandle

    WinNT.HANDLE GetStdHandle(int nStdHandle)
    Parameters:
      `nStdHandle` - The standard device identifier
    Returns:
      A handle to the specified standard device (standard input, output, or error)

  - ### SetStdHandle

    boolean SetStdHandle(int nStdHandle, WinNT.HANDLE hHandle)
    Parameters:
      `nStdHandle` - The standard device identifier
      `hHandle` - The handle for the standard device
    Returns:
      `true` if successful - if `false` then use `GetLastError()` to get extended error information
    See Also:
      - SetStdHandle documentation

  - ### GetConsoleDisplayMode

    boolean GetConsoleDisplayMode(IntByReference lpModeFlags)
    Retrieves the display mode of the current console
    Parameters:
      `lpModeFlags` - The display mode of the console
    Returns:
      `true` if successful - if `false` then use `GetLastError()` to get extended error information
    See Also:
      - GetConsoleDisplayMode documentation

  - ### GetConsoleMode

    boolean GetConsoleMode(WinNT.HANDLE hConsoleHandle, IntByReference lpMode)
    Parameters:
      `hConsoleHandle` - A handle to the console input buffer or the console screen buffer. The handle must have the GENERIC_READ access right
      `lpMode` - A pointer to a variable that receives the current mode of the specified buffer
    Returns:
      `true` if successful - if `false` then use `GetLastError()` to get extended error information
    See Also:
      - GetConsoleMode documentation

  - ### SetConsoleMode

    boolean SetConsoleMode(WinNT.HANDLE hConsoleHandle, int dwMode)
    Parameters:
      `hConsoleHandle` - A handle to the console input buffer or a console screen buffer. The handle must have the GENERIC_READ access right
      `dwMode` - The input or output mode mask to be set
    Returns:
      `true` if successful - if `false` then use `GetLastError()` to get extended error information
    See Also:
      - SetConsoleMode documentation

  - ### GetConsoleTitle

    int GetConsoleTitle(char[] lpConsoleTitle, int nSize)
    Parameters:
      `lpConsoleTitle` - A pointer to a buffer that receives a null-terminated string containing the title. If the buffer is too small to store the title, the function stores as many characters of the title as will fit in the buffer, ending with a null terminator. Note: use `Native.toString(char[])` to convert it to a `String` value
      `nSize` - The size of the buffer pointed to by the lpConsoleTitle parameter, in characters.
    Returns:
      If the function succeeds, the return value is the length of the console window's title, in characters. If the function fails, the return value is zero and `GetLastError` returns the error code.
    See Also:
      - GetConsoleTitle documentation

  - ### GetConsoleOriginalTitle

    int GetConsoleOriginalTitle(char[] lpConsoleTitle, int nSize)
    Parameters:
      `lpConsoleTitle` - A pointer to a buffer that receives a null-terminated string containing the original title. Note: use `Native.toString(char[])` to convert it to a `String` value
      `nSize` - The size of the lpConsoleTitle buffer, in characters
    Returns:
      If the function succeeds, the return value is the length of the string copied to the buffer, in characters. If the buffer is not large enough to store the title, the return value is zero and `GetLastError` returns `ERROR_SUCCESS`. If the function fails, the return value is zero and `GetLastError` returns the error code.
    See Also:
      - GetConsoleOriginalTitle documentation

  - ### SetConsoleTitle

    boolean SetConsoleTitle(String lpConsoleTitle)
    Parameters:
      `lpConsoleTitle` - The string to be displayed in the title bar of the console window. The total size must be less than `MAX_CONSOLE_TITLE_LENGTH`.
    Returns:
      `true` if successful - if `false` then use `GetLastError()` to get extended error information
    See Also:
      - SetConsoleTitle documentation

  - ### GetConsoleScreenBufferInfo

    boolean GetConsoleScreenBufferInfo(WinNT.HANDLE hConsoleOutput, Wincon.CONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo)
    Retrieves information about the specified console screen buffer.
    Parameters:
      `hConsoleOutput` - A handle to the console screen buffer.
      `lpConsoleScreenBufferInfo` - A pointer to a CONSOLE_SCREEN_BUFFER_INFO structure that receives the console screen buffer information.
    Returns:
      `true` if successful - if `false` then use `GetLastError()` to get extended error information
    See Also:
      - GetConsoleScreenBufferInfo documentation

  - ### ReadConsoleInput

    boolean ReadConsoleInput(WinNT.HANDLE hConsoleInput, Wincon.INPUT_RECORD[] lpBuffer, int nLength, IntByReference lpNumberOfEventsRead)
    Reads data from a console input buffer and removes it from the buffer.
    Parameters:
      `hConsoleInput` - A handle to the console input buffer.
      `lpBuffer` - A pointer to an array of INPUT_RECORD structures that receives the input buffer data.
      `nLength` - The size of the array pointed to by the lpBuffer parameter, in array elements.
      `lpNumberOfEventsRead` - A pointer to a variable that receives the number of input records read.
    Returns:
      `true` if successful - if `false` then use `GetLastError()` to get extended error information
    See Also:
      - ReadConsoleInput documentation

  - ### WriteConsole

    boolean WriteConsole(WinNT.HANDLE hConsoleOutput, String lpBuffer, int nNumberOfCharsToWrite, IntByReference lpNumberOfCharsWritten, WinDef.LPVOID lpReserved)
    Writes a character string to a console screen buffer beginning at the current cursor location.
    Parameters:
      `hConsoleOutput` - A handle to the console screen buffer.
      `lpBuffer` - A pointer to a buffer that contains characters to be written to the console screen buffer.
      `nNumberOfCharsToWrite` - The number of characters to be written.
      `lpNumberOfCharsWritten` - A pointer to a variable that receives the number of characters actually written.
      `lpReserved` - Reserved; must be NULL.
    Returns:
      `true` if successful - if `false` then use `GetLastError()` to get extended error information
    See Also:
      - WriteConsole documentation