示例#1
0
        private static void SetConsoleModeToVirtualTerminal()
        {
            SafeFileHandle stdIn = ConsoleApi.GetStdHandle(StdHandle.InputHandle);

            if (!ConsoleApi.GetConsoleMode(stdIn, out uint outConsoleMode))
            {
                throw InteropException.CreateWithInnerHResultException("Could not get console mode.");
            }

            outConsoleMode |= Constants.ENABLE_VIRTUAL_TERMINAL_PROCESSING | Constants.DISABLE_NEWLINE_AUTO_RETURN;
            if (!ConsoleApi.SetConsoleMode(stdIn, outConsoleMode))
            {
                throw InteropException.CreateWithInnerHResultException("Could not enable virtual terminal processing.");
            }
        }