#console #winapi #terminal #windows

bin+lib pipedconsole

轻松管理单个进程中的多个控制台窗口

7 个版本

0.3.2 2023年2月1日
0.3.1 2022年7月24日
0.3.0 2021年9月9日
0.2.3 2021年9月8日
0.0.4 2021年6月16日

#78Windows APIs

每月下载 27

MIT 许可证

42KB
535

Pipedconsole

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

正常情况下,在 Windows 上运行的程序只能使用一个控制台。

一个进程只能与一个控制台关联,因此如果调用进程已经有一个控制台,AllocConsole 函数将失败。

来自 microsoft docs.

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

用法

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

文档和下载

您可以通过 Cargo 直接下载该软件包或访问 crates.io。更多文档可以在 docs.rs 上找到。

变更日志

0.3.1 -> 0.3.2

  • 修复了 docs.rs,我只是忘记更改一个函数名

0.3.0 -> 0.3.1

  • 重写了消息传递系统
  • 改进了文档
  • 构建帮助信息的微小错误修复

0.2.3 -> 0.3.0

  • 为控制台实现了 std::io::Write。这意味着 flush 方法现在是该 trait 的一部分。
  • 修复了文档。

0.2.0 -> 0.2.3

  • console_worker 可执行文件构建了新的系统。它更容易使用,并带有自动检测可执行文件的功能。注意:本版本的根页面上的文档略有错误。

0.0.0 -> 0.2.0

  • 使 docs.rs 正确工作。

依赖关系

~225KB