Exemple #1
0
 public void SetInputHandle(ConsoleInputHandle inputHandle)
 {
     if (!NativeMethods.SetStdHandle(NativeMethods.STDIN, inputHandle.DangerousGetHandle()))
     {
         throw Exceptions.Win32();
     }
 }
Exemple #2
0
 public void SetConsoleMode(ConsoleInputHandle consoleInputHandle, ConsoleInputModes inputMode)
 {
     if (!NativeMethods.SetConsoleMode(consoleInputHandle, inputMode))
     {
         throw Exceptions.Win32();
     }
 }
Exemple #3
0
 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());
 }
Exemple #4
0
 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);