terminal/samples/ConPTY/EchoCon
Rich Turner ac843745fa
Add an example application that uses the pseudoconsole APIs (#247)
This sample implements a simple "Echo Console" that illustrates the mechanism by which a caller can directly invoke & communicate with Command-Line applications.

1. Creates two pipes - one for output, the second for output
1. Creates a Pseudo Console attached to the other end of the pipes
1. Creates a child process (an instance of `ping.exe` in this case), attached to the Pseudo Console
1. Creates a thread that reads the input pipe, displaying received text on the screen
2018-09-10 20:07:17 -07:00
..
EchoCon Add an example application that uses the pseudoconsole APIs (#247) 2018-09-10 20:07:17 -07:00
EchoCon.sln Add an example application that uses the pseudoconsole APIs (#247) 2018-09-10 20:07:17 -07:00
readme.md Add an example application that uses the pseudoconsole APIs (#247) 2018-09-10 20:07:17 -07:00

"EchoCon" ConPTY Sample App

This is a very simple sample application that illustrates how to use the new Win32 Pseudo Console (ConPTY) by:

  1. Creating an input and an output pipe
  2. Calling CreatePseudoConsole() to create a ConPTY instance attached to the other end of the pipes
  3. Spawning an instance of ping.exe connected to the ConPTY
  4. Running a thread that listens for output from ping.exe, writing received text to the Console

Pre-Requirements

To build and run this sample, you must install:

Running the sample

Once successfully built, running EchoCon should clear the screen and display the results of the echo command:

Pinging Rincewind [::1] with 32 bytes of data:
Reply from ::1: time<1ms
Reply from ::1: time<1ms
Reply from ::1: time<1ms
Reply from ::1: time<1ms

Ping statistics for ::1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

Resources

For more information on the new Pseudo Console infrastructure and API, please review this blog post