Add a test program that uses the ioctl-like console interface to scroll

and write.
This commit is contained in:
Ryan Prichard 2011-11-16 00:52:11 -08:00
parent 8647405a6d
commit 662b140c62
2 changed files with 41 additions and 0 deletions

40
Misc/Win32Write1.cc Normal file
View File

@ -0,0 +1,40 @@
/*
* A Win32 program that scrolls and writes to the console using the ioctl-like
* interface.
*/
#include <stdio.h>
#include <windows.h>
int main()
{
HANDLE conout = GetStdHandle(STD_OUTPUT_HANDLE);
for (int i = 0; i < 80; ++i) {
CONSOLE_SCREEN_BUFFER_INFO info;
GetConsoleScreenBufferInfo(conout, &info);
SMALL_RECT src = { 0, 1, info.dwSize.X - 1, info.dwSize.Y - 1 };
COORD destOrigin = { 0, 0 };
CHAR_INFO fillCharInfo = { 0 };
fillCharInfo.Char.AsciiChar = ' ';
fillCharInfo.Attributes = 7;
ScrollConsoleScreenBuffer(conout, &src, NULL, destOrigin, &fillCharInfo);
CHAR_INFO buffer = { 0 };
buffer.Char.AsciiChar = 'X';
buffer.Attributes = 7;
COORD bufferSize = { 1, 1 };
COORD bufferCoord = { 0, 0 };
SMALL_RECT writeRegion = { 0, 0, 0, 0 };
writeRegion.Left = writeRegion.Right = i;
writeRegion.Top = writeRegion.Bottom = 5;
WriteConsoleOutput(conout,
&buffer, bufferSize, bufferCoord,
&writeRegion);
Sleep(250);
}
return 0;
}

View File

@ -1,3 +1,4 @@
#!/bin/bash
g++ Win32Echo1.cc -o Win32Echo1
g++ Win32Echo2.cc -o Win32Echo2
g++ Win32Write1.cc -o Win32Write1