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; }
public static bool StandardHandleIsTty(Program program, StandardHandleType handleType) { var standardHandle = GetStdHandle(std: handleType); var handleFileType = GetFileType(fileHandle: standardHandle); return(handleFileType == FileType.Char); }
/// <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)); }
public ConsoleStream(StandardHandleType type) { _handle = Console.GetStandardHandle(type); _output = type != StandardHandleType.Input; }
public static extern IntPtr GetStdHandle(StandardHandleType nStdHandle);
public static extern IntPtr GetStdHandle(StandardHandleType stdHandleType);
public static extern bool SetStdHandle( StandardHandleType nStdHandle, SafeHandle hHandle);
public static extern bool GetStdHandle( StandardHandleType nStdHandle);