コード例 #1
0
 public void SetInputHandle(ConsoleInputHandle inputHandle)
 {
     if (!NativeMethods.SetStdHandle(NativeMethods.STDIN, inputHandle.DangerousGetHandle()))
     {
         throw Exceptions.Win32();
     }
 }
コード例 #2
0
 public void SetConsoleMode(ConsoleInputHandle consoleInputHandle, ConsoleInputModes inputMode)
 {
     if (!NativeMethods.SetConsoleMode(consoleInputHandle, inputMode))
     {
         throw Exceptions.Win32();
     }
 }
コード例 #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());
 }
コード例 #4
0
 public ConsoleInputModes GetConsoleMode(ConsoleInputHandle consoleInputHandle) =>
 NativeMethods.GetConsoleMode(consoleInputHandle.DangerousGetHandle(), out ConsoleInputModes mode) ? mode : throw Exceptions.Win32();
コード例 #5
0
ファイル: NativeMethods.cs プロジェクト: ReneVogt/ConControls
 internal static extern bool SetConsoleMode(ConsoleInputHandle consoleInputHandle, ConsoleInputModes inputMode);
コード例 #6
0
ファイル: NativeMethods.cs プロジェクト: ReneVogt/ConControls
 internal static extern bool ReadConsoleInput(
     ConsoleInputHandle consoleInputHandle,
     [Out] INPUT_RECORD[] recordBuffer,
     int elementsInBuffer,
     out int elementsRead);