探索裝載於 Windows 終端機存放庫上的一些範例程式碼,包括 圖元著色器 .hlsl 範例、 EchoCon ConPTY 範例 Win32 虛擬主控台、 以 .NET 為目標的 GUIConsole 範例 WPF 主控台、 使用基本 PTY API 呼叫的 MiniTerm 範例,以及用於在串流字元輸入時監視主控台事件的 ReadConsoleInputStream 示範 。
像素著色器
由於 GPU 提供了如此強大的運算能力,因此您可以使用像素著色器完成出色的工作,例如即時分形縮放、光線追蹤器和影像處理。
Windows 終端機允許使用者透過將 experimental.pixelShaderPath 屬性新增至 settings.json 中的設定檔,來提供圖元著色器並將其套用至終端機。 像素著色器是用一種稱為 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 範例應用程式
此實驗性終端機示範使用 Microsoft 的 PTY API 進行基本 API 呼叫 (不適用於「實際」使用)。 它是用 C# 編寫的,並且主要基於本機代碼示例。
請流覽 Windows 終端機存放庫以尋找此範例: MiniTerm。
ReadConsoleInputStream 範例
此示範展示非同步監控主控台事件,例如滑鼠、功能表、焦點,及緩衝區或檢視區的大小調整,同時將主控台的字元輸入視圖進行串流。 此功能在使用 VT100 流和 ConPTY 時特別有用。
請流覽 Windows 終端機存放庫以尋找此示範: ReadConsoleInputStream 示範。