Remote desktop protocol and control

Managed RDP Client

Treat a remote Windows desktop as another inspectable, automatable target surface.

Explore source
Parent systemCDP
StatusPreview
Modules3
RepositoryCDP/CDP.Rdp

The RDP lane keeps protocol, security, rendering, hosting, and automation separable, allowing the remote desktop surface to participate in visual tests without hiding its transport boundary.

  1. 01

    Managed RDP negotiation and session state

  2. 02

    TLS and CredSSP security transports

  3. 03

    Static and dynamic virtual channels

  4. 04

    Avalonia control, input mapping, and Skia frame rendering

From intent
to working system.

01

Connect

Negotiation, security, licensing, activation, and session state establish the remote desktop.

02

Channel

Static and dynamic virtual channels carry negotiated capabilities and auxiliary data.

03

Present

Bitmap updates and dirty regions compose into an Avalonia-hosted Skia framebuffer.

04

Drive

Pointer and keyboard mapping feeds remote input while CDP workflows record and verify the surface.

Adopt this
capability.

Start with the primary module, then add the related packages only when the application needs those layers. Replace VERSION with the current NuGet version.

01 · Install
Terminal
dotnet add package Chrome.DevTools.Avalonia.Rdp --prerelease
02 · Use · csharp
QuickStart.cs
var client = new RdpClient(new RdpSessionOptions
{
Host = "windows-vm",
Port = 3389
});
await client.ConnectAsync(cancellationToken);

Use one layer.
Compose the rest.

Read the module beside the complete system.

The implementation, samples, issues, and release notes stay in the parent repository so module details remain connected to the product architecture.

CDP

Search everything.

Loading the index…

move open esc close

Preparing metadata and full-text search…