探索 Windows 终端存储库上托管的一些示例代码,包括 像素着色器 .hlsl 示例、 EchoCon ConPTY 示例 Win32 伪控制台、 面向 .NET 的 GUIConsole 示例 WPF 控制台、 使用基本 PTY API 调用的 MiniTerm 示例,以及用于监视控制台事件,同时流式传输字符输入时的 ReadConsoleInputStream 演示 。
像素着色器
由于 GPU 对于计算能力提供了强大的支持,因此您可以使用像素着色器完成许多出色的工作,例如实时分形缩放、光线跟踪和图像处理。
Windows 终端允许用户通过向 settings.json 文件中的配置文件添加 experimental.pixelShaderPath 属性,提供应用于终端的像素着色器。 像素着色器采用名为 HLSL 的语言编写,这种语言类似于 C 的语言存在一些限制。
尝试 Windows 终端存储库中提供的多个像素着色器 .hlsl 示例之一: 像素着色器。
EchoCon ConPTY 示例应用
此示例应用程序演示如何通过以下方式使用 Win32 伪控制台(ConPTY):
- 创建输入和输出管道
- 调用 CreatePseudoConsole() 创建附加到管道另一端的 ConPTY 实例
- 生成连接到 ConPTY 的 ping.exe 实例
- 运行侦听来自 ping.exe的输出的线程,将收到的文本写入控制台
访问 Windows 终端存储库以查找此示例: EchoCon ConPTY 示例应用。
GUIConsole 示例应用
此示例应用程序提供了自定义 WPF 控制台的示例框架。
在此示例中,可以找到:
GUIConsole.WPF:一个面向 .NET 4.6.1 的 WPF 应用程序,它创建一个 WPF 窗口,该窗口充当控制台并使基础控制台可见。
GUIConsole.ConPTY:一个 .NET Standard 2.0 库,用于处理控制台的创建并启用伪控制台行为。 Terminal.cs文件包含 WPF 应用程序与之交互的公开可见部分。 Terminal.cs公开了允许从控制台读取和写入的两项功能:
-
ConsoleOutStream:与伪控制台的输出管道挂钩的 FileStream。 此流输出 VT100。 -
WriteToPseudoConsole(字符串输入):处理给定字符串的方法,通过输入管道将其写入伪控制台。 此方法接受 VT100。
-
访问 Windows 终端存储库以查找此示例: GUIConsole。
MiniTerm 示例应用
此实验终端演示了使用 PTY API 进行基本 API 调用,这些 API 来自 Microsoft,不建议用于实际应用。 它以 C# 编写,并基于本机代码示例进行大量编写。
访问 Windows 终端存储库以查找此示例: MiniTerm。
ReadConsoleInputStream 演示
此演示演示了对控制台事件的异步监视,例如鼠标、菜单、焦点和缓冲区或视区大小,同时从控制台流式传输字符输入视图。 使用 VT100 流和 ConPTY 时,此功能特别有用。
访问 Windows 终端存储库以查找此演示: ReadConsoleInputStream 演示。