UNPKG

1.3 kBtext/x-cView Raw
1/*
2 * A Win32 program that scrolls and writes to the console using the ioctl-like
3 * interface.
4 */
5
6#include <stdio.h>
7#include <windows.h>
8
9int main()
10{
11 HANDLE conout = GetStdHandle(STD_OUTPUT_HANDLE);
12
13 for (int i = 0; i < 80; ++i) {
14
15 CONSOLE_SCREEN_BUFFER_INFO info;
16 GetConsoleScreenBufferInfo(conout, &info);
17
18 SMALL_RECT src = { 0, 1, info.dwSize.X - 1, info.dwSize.Y - 1 };
19 COORD destOrigin = { 0, 0 };
20 CHAR_INFO fillCharInfo = { 0 };
21 fillCharInfo.Char.AsciiChar = ' ';
22 fillCharInfo.Attributes = 7;
23 ScrollConsoleScreenBuffer(conout,
24 &src,
25 NULL,
26 destOrigin,
27 &fillCharInfo);
28
29 CHAR_INFO buffer = { 0 };
30 buffer.Char.AsciiChar = 'X';
31 buffer.Attributes = 7;
32 COORD bufferSize = { 1, 1 };
33 COORD bufferCoord = { 0, 0 };
34 SMALL_RECT writeRegion = { 0, 0, 0, 0 };
35 writeRegion.Left = writeRegion.Right = i;
36 writeRegion.Top = writeRegion.Bottom = 5;
37 WriteConsoleOutput(conout,
38 &buffer, bufferSize, bufferCoord,
39 &writeRegion);
40
41 Sleep(250);
42 }
43 return 0;
44}