Windows 終端機範例程式碼

探索裝載於 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):

  1. 建立輸入和輸出管
  2. 呼叫 CreatePseudoConsole() 以建立附加至管道另一端的 ConPTY 實例
  3. 生成連接到 ConPTY 的 ping.exe 實例
  4. 執行執行緒,以監聽來自 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 示範