public override void Enable() { GetStdOut(out IntPtr bufferPtr); CONSOLE_FONT_INFOEX bufferFont = Info.font; CONSOLE_MODE_OUTPUT lastMode = 0; SetupBuffer(bufferPtr, ref bufferFont, ref lastMode); Buffer = new OutputHandlerBufferInfo(bufferPtr, (uint)lastMode); }
public override void Disable() { OutputHandlerBufferInfo bufferInfo = Buffers[0]; CONSOLE_FONT_INFOEX lastFont = Info.font; CONSOLE_MODE_OUTPUT lastMode = 0; SetupBuffer(bufferInfo.ptr, ref lastFont, ref lastMode); SetConsoleActiveScreenBuffer(bufferInfo.ptr); SetConsoleMode(bufferInfo.ptr, bufferInfo.lastMode); Buffers = null; WritingBuffer = -1; }
public override void Enable() { Buffers = new OutputHandlerBufferInfo[BUFFER_COUNT]; for (int i = 0; i < BUFFER_COUNT; i++) { IntPtr bufferPtr = CreateConsoleScreenBuffer( (uint)(BUFFER_ACCESS_MODE.GENERIC_WRITE | BUFFER_ACCESS_MODE.GENERIC_READ), (uint)(BUFFER_SHARE_MODE.FILE_SHARE_WRITE | BUFFER_SHARE_MODE.FILE_SHARE_READ), new IntPtr(0), 1, new IntPtr(0)); CONSOLE_FONT_INFOEX bufferFont = Info.font; CONSOLE_MODE_OUTPUT lastMode = 0; SetupBuffer(bufferPtr, ref bufferFont, ref lastMode); Buffers[i] = new OutputHandlerBufferInfo(bufferPtr, (uint)lastMode); } WritingBuffer = 1; SetConsoleActiveScreenBuffer(Buffers[0].ptr); }