Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zapoznaj się z przykładowym kodem hostowanym w repozytorium Windows Terminal, w tym przykładem Pixel Shader .hlsl, przykładem EchoCon ConPTY, czyli pseudo konsoli Win32, przykładem GUIConsole w konsoli WPF z obsługą .NET, przykładem MiniTerm korzystającym z podstawowych wywołań API PTY oraz pokazem ReadConsoleInputStream do monitorowania zdarzeń konsoli podczas przesyłania strumieniowego danych wejściowych znaków.
Cieniowanie pikseli
Ponieważ procesory GPU zapewniają tak dużą moc obliczeniową, można robić świetne rzeczy z shaderami pikseli, takie jak zoom fraktalny w czasie rzeczywistym, śledzenie promieni i przetwarzanie obrazów.
Terminal systemu Windows umożliwia użytkownikom określenie cieniowania pikseli stosowanego w terminalu poprzez dodanie właściwości experimental.pixelShaderPath do profilu w pliku settings.json. Cieniowania pikseli są pisane w języku o nazwie HLSL, języku przypominającym język C z pewnymi ograniczeniami.
Wypróbuj jeden z kilku przykładów pixel Shader .hlsl podanych w repozytorium terminalu systemu Windows: Cieniowanie pikseli.
Przykładowa aplikacja EchoCon ConPTY
W tej przykładowej aplikacji pokazano, jak używać pseudo konsoli Win32 (ConPTY) przez:
- Tworzenie potoku wejściowego i wyjściowego
- Wywoływanie metody CreatePseudoConsole() w celu utworzenia instancji ConPTY przyłączonej do drugiego końca rur
- Uruchamianie instancji ping.exe połączonej z ConPTY
- Uruchamianie wątku, który nasłuchuje danych wyjściowych z ping.exe i zapisuje odebrany tekst do konsoli.
Odwiedź repozytorium terminalu systemu Windows, aby znaleźć ten przykład: EchoCon ConPTY Sample App.
Przykładowa aplikacja GUIConsole
Ta przykładowa aplikacja udostępnia przykładowy szkielet niestandardowej konsoli WPF .
W tym przykładzie znajdziesz następujące elementy:
GUIConsole.WPF: aplikacja WPF przeznaczona dla platformy .NET 4.6.1, która tworzy jedno okno WPF, które działa jako konsola i utrzymuje widoczną konsolę bazową.
GUIConsole.ConPTY: biblioteka .NET Standard 2.0, która obsługuje tworzenie konsoli i umożliwia zachowanie pseudokonsole. Plik Terminal.cs zawiera publicznie widoczne elementy, z którymi współdziała aplikacja WPF. Terminal.cs uwidacznia dwie rzeczy, które umożliwiają odczytywanie i zapisywanie w konsoli:
-
ConsoleOutStream: element FileStream podłączony do potoku wyjściowego pseudokonsoli. Ten strumień danych generuje VT100. -
WriteToPseudoConsole(ciąg wejściowy): metoda, która pobiera ten ciąg wejściowy i zapisuje go do pseudokonsoli za pośrednictwem jej potoku wejściowego. Ta metoda akceptuje VT100.
-
Odwiedź repozytorium terminalu systemu Windows, aby znaleźć ten przykład: GUIConsole.
Przykładowa aplikacja MiniTerm
W tym eksperymentalnym terminalu przedstawiono podstawowe wywołania interfejsu API (nie są przeznaczone do użycia w świecie rzeczywistym) przy użyciu interfejsów API PTY firmy Microsoft. Jest on napisany w języku C# i w dużym stopniu oparty na przykładach kodu natywnego.
Odwiedź repozytorium Terminal systemu Windows, aby znaleźć ten przykład: MiniTerm.
ReadConsoleInputStream Demo
W tej demonstracji pokazano asynchroniczne monitorowanie zdarzeń konsoli programu, takich jak mysz, menu, ostrość i zmiana rozmiaru buforu lub widoku konsoli, podczas jednoczesnego strumieniowego przesyłania widoku wprowadzania znaków z konsoli. Ta funkcja jest szczególnie przydatna podczas pracy ze strumieniami VT100 i ConPTY.
Odwiedź repozytorium Terminal systemu Windows, aby znaleźć tę demonstrację: ReadConsoleInputStream Demo.