installed pty
[VSoRC/.git] / node_modules / node-pty / deps / winpty / misc / Win32Write1.cc
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
9 int 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 }