public ConsoleWrapper(short bufferWidth, short bufferHeight) { _bufferWidth = bufferWidth; _bufferHeight = bufferHeight; //uint x = GetConsoleOutputCP(); //bool b = SetConsoleOutputCP(1252); //bool b = SetConsoleOutputCP(850); //bool b = SetConsoleOutputCP(1250); h = CreateFileW("CONOUT$", 0x40000000, 2, IntPtr.Zero, FileMode.Open, 0, IntPtr.Zero); //uint x = GetConsoleOutputCP(); //bool b = SetConsoleOutputCP(1252); //bool b = SetConsoleOutputCP(850); if (h.IsInvalid) { throw new InvalidOperationException("Unable to get handle to console window."); } buf = new CharInfo[_bufferWidth * _bufferHeight]; rect = new SmallRect() { Left = 0, Top = 0, Right = _bufferWidth, Bottom = _bufferHeight }; }
static extern bool WriteConsoleOutputW( SafeFileHandle hConsoleOutput, CharInfo[] lpBuffer, Coord dwBufferSize, Coord dwBufferCoord, ref SmallRect lpWriteRegion);