Skip to content

Piped console is a windows-only rust crate wich allows you to easily manage two or more different consoles from within one process.

Notifications You must be signed in to change notification settings

Foxcirc/pipedconsole

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pipedconsole

A rust crate for managing multiple consoles from one windows application.

Normaly a program running on windows can only use one console.

A process can be associated with only one console, so the AllocConsole function fails if the calling process already has a console.

From the microsoft docs.

This crate solves this problem by providing an abstraction over a worker process wich is controlled using named pipes.

Usage

You can use the Console class to create a new console, after that you can write to it or read a line.

use pipedconsole::Console;

let console = Console::new("My Console").expect("Failed to create a new console");
console.println("What is your name?").expect("Failed to call println"); // a seperate console window

let mut name = String::new();
console.read_line(&mut name).expect("Failed to read from the console");
println!("Your name is: {}", name); // main processe's console

Documentation and download

Download the crate either directly through Cargo or visit crates.io. More documentation can be found on docs.rs.

Changelog

0.3.0 -> 0.3.1

  • Rewrote the message passing system
  • Improved documentation
  • Minor bug fixes for the build help messages

0.2.3 -> 0.3.0

  • Implemented std::io::Write for console. This means the flush method is now part of that trait.
  • Fixed documentation.

0.2.0 -> 0.2.3

  • New system for building the console_worker executable. It is easier to use and comes with auto detection for the executable. Note: The documentation on the root page is slightly wrong in this version.

0.0.0 -> 0.2.0

  • Got docs.rs to work correctly.

About

Piped console is a windows-only rust crate wich allows you to easily manage two or more different consoles from within one process.

Topics

Resources

Stars

Watchers

Forks

Languages