Example #1
0
        public ConsoleStream(StandardHandleType type)
        {
            SafeFileHandle?handle = Console.GetStandardHandle(type);

            _handle = handle ?? throw new InvalidOperationException($"Could not get standard handle of type {type}.");
            _output = type != StandardHandleType.Input;
        }
Example #2
0
        public static bool StandardHandleIsTty(Program program, StandardHandleType handleType)
        {
            var standardHandle = GetStdHandle(std: handleType);
            var handleFileType = GetFileType(fileHandle: standardHandle);

            return(handleFileType == FileType.Char);
        }
Example #3
0
        /// <summary>
        /// Get the specified standard handle.
        /// </summary>
        public static SafeFileHandle GetStandardHandle(StandardHandleType type)
        {
            IntPtr handle = Imports.GetStdHandle(type);

            if (handle == (IntPtr)(-1))
            {
                throw Error.GetExceptionForLastError();
            }

            // If there is no associated standard handle, return null
            if (handle == IntPtr.Zero)
            {
                return(null);
            }

            // The standard handles do not need to be released.
            return(new SafeFileHandle(handle, ownsHandle: false));
        }
Example #4
0
 public ConsoleStream(StandardHandleType type)
 {
     _handle = Console.GetStandardHandle(type);
     _output = type != StandardHandleType.Input;
 }
Example #5
0
 public static extern IntPtr GetStdHandle(StandardHandleType nStdHandle);
 public static extern IntPtr GetStdHandle(StandardHandleType stdHandleType);
Example #7
0
 public static extern bool SetStdHandle(
     StandardHandleType nStdHandle,
     SafeHandle hHandle);
Example #8
0
 public static extern bool GetStdHandle(
     StandardHandleType nStdHandle);