Skip to content
Branch: master
Find file History
bitcrazed 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
Latest commit ac84374 Sep 11, 2018
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
EchoCon Add an example application that uses the pseudoconsole APIs (#247) Sep 11, 2018
EchoCon.sln Add an example application that uses the pseudoconsole APIs (#247) Sep 11, 2018
readme.md

readme.md

"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

You can’t perform that action at this time.