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 Console;
let console = new.expect;
console.println.expect; // a seperate console window
let mut name = String new;
console.read_line.expect;
println!; // 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.1 -> 0.3.2
- Fixed docs.rs again, I just forgot to change a function name
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 theflush
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.