public void SetInputHandle(ConsoleInputHandle inputHandle) { if (!NativeMethods.SetStdHandle(NativeMethods.STDIN, inputHandle.DangerousGetHandle())) { throw Exceptions.Win32(); } }
public void SetConsoleMode(ConsoleInputHandle consoleInputHandle, ConsoleInputModes inputMode) { if (!NativeMethods.SetConsoleMode(consoleInputHandle, inputMode)) { throw Exceptions.Win32(); } }
public INPUT_RECORD[] ReadConsoleInput(ConsoleInputHandle consoleInputHandle, int maxElements = 1028) { INPUT_RECORD[] result = new INPUT_RECORD[maxElements]; if (!NativeMethods.ReadConsoleInput(consoleInputHandle, result, maxElements, out var read)) { throw Exceptions.Win32(); } return(result.Take(read).ToArray()); }
public ConsoleInputModes GetConsoleMode(ConsoleInputHandle consoleInputHandle) => NativeMethods.GetConsoleMode(consoleInputHandle.DangerousGetHandle(), out ConsoleInputModes mode) ? mode : throw Exceptions.Win32();
internal static extern bool SetConsoleMode(ConsoleInputHandle consoleInputHandle, ConsoleInputModes inputMode);
internal static extern bool ReadConsoleInput( ConsoleInputHandle consoleInputHandle, [Out] INPUT_RECORD[] recordBuffer, int elementsInBuffer, out int elementsRead);