installed pty
[VSoRC/.git] / node_modules / node-pty / deps / winpty / misc / Win32Test1.cc
diff --git a/node_modules/node-pty/deps/winpty/misc/Win32Test1.cc b/node_modules/node-pty/deps/winpty/misc/Win32Test1.cc
new file mode 100644 (file)
index 0000000..a40d318
--- /dev/null
@@ -0,0 +1,46 @@
+#define _WIN32_WINNT 0x0501
+#include "../src/shared/DebugClient.cc"
+#include <windows.h>
+#include <stdio.h>
+
+const int SC_CONSOLE_MARK = 0xFFF2;
+
+CALLBACK DWORD writerThread(void*)
+{
+    while (true) {
+        Sleep(1000);
+        trace("writing");
+        printf("X\n");
+        trace("written");
+    }
+}
+
+int main()
+{
+    CreateThread(NULL, 0, writerThread, NULL, 0, NULL);
+    trace("marking console");
+    HWND hwnd = GetConsoleWindow();
+    PostMessage(hwnd, WM_SYSCOMMAND, SC_CONSOLE_MARK, 0);
+
+    Sleep(2000);
+
+    trace("reading output");
+    CHAR_INFO buf[1];
+    COORD bufSize = { 1, 1 };
+    COORD zeroCoord = { 0, 0 };
+    SMALL_RECT readRect = { 0, 0, 0, 0 };
+    ReadConsoleOutput(GetStdHandle(STD_OUTPUT_HANDLE),
+                      buf,
+                      bufSize,
+                      zeroCoord,
+                      &readRect);
+    trace("done reading output");
+
+    Sleep(2000);
+
+    PostMessage(hwnd, WM_CHAR, 27, 0x00010001);
+
+    Sleep(1100);
+
+    return 0;
+}