Lemutec.RemoteViewing.Windows.Forms
1.2.0-rc1
dotnet add package Lemutec.RemoteViewing.Windows.Forms --version 1.2.0-rc1
NuGet\Install-Package Lemutec.RemoteViewing.Windows.Forms -Version 1.2.0-rc1
<PackageReference Include="Lemutec.RemoteViewing.Windows.Forms" Version="1.2.0-rc1" />
<PackageVersion Include="Lemutec.RemoteViewing.Windows.Forms" Version="1.2.0-rc1" />
<PackageReference Include="Lemutec.RemoteViewing.Windows.Forms" />
paket add Lemutec.RemoteViewing.Windows.Forms --version 1.2.0-rc1
#r "nuget: Lemutec.RemoteViewing.Windows.Forms, 1.2.0-rc1"
#:package Lemutec.RemoteViewing.Windows.Forms@1.2.0-rc1
#addin nuget:?package=Lemutec.RemoteViewing.Windows.Forms&version=1.2.0-rc1&prerelease
#tool nuget:?package=Lemutec.RemoteViewing.Windows.Forms&version=1.2.0-rc1&prerelease
<p align="center"> <img src="https://raw.githubusercontent.com/lemutec/RemoteViewing/refs/heads/vine/logo.png" alt="RemoteViewing Logo" width="128" height="128"> </p>
<h1 align="center">RemoteViewing</h1>
<p align="center"> <strong>🖥️ A .NET-native VNC client and server library 🖥️</strong> </p>
<p align="center"> It supports Raw, Hextile, Copyrect, and Zlib encodings, and includes a Windows Forms and WPF control to make embedding VNC in your program extremely easy. </p>
<p align="center"> <a href="https://github.com/lemutec/RemoteViewing/actions/workflows/library.nuget.yml"><img src="https://github.com/lemutec/RemoteViewing/actions/workflows/library.nuget.yml/badge.svg" alt="Actions"></a> <a href="https://github.com/lemutec/RemoteViewing/blob/master/LICENSE.txt"><img src="https://img.shields.io/github/license/lemutec/RemoteViewing" alt="GitHub license"></a> <a href="https://www.nuget.org/packages/Lemutec.RemoteViewing"><img src="https://img.shields.io/nuget/v/Lemutec.RemoteViewing.svg" alt="NuGet"></a> </p>
<p align="center"> <a href="#-features">✨ Features</a> • <a href="#-installation">📦 Installation</a> • <a href="#-usage">🚀 Usage</a> • <a href="#-supported-frameworks">🎯 Frameworks</a> • <a href="#-license">📄 License</a> </p>
✨ Features
- 🔷 Pure .NET Implementation - No native dependencies required
- 🔄 VNC Client & Server - Full support for both client and server roles
- 📦 Multiple Encodings - Raw, Hextile, Copyrect, and Zlib compression
- 🎨 Color Depth Support - 8-bit, 16-bit, and 32-bit color modes
- 🪟 UI Controls - Ready-to-use controls for Windows Forms and WPF
- 📋 Clipboard Sharing - Bidirectional clipboard synchronization
- 📊 Performance Monitoring - Built-in FPS, bandwidth, and CPU statistics
- 🔍 AutoSize Mode - Automatic scaling with proper coordinate transformation
📦 Installation
Available on NuGet:
| Package | NuGet |
|---|---|
| Lemutec.RemoteViewing | |
| Lemutec.RemoteViewing.Windows.Forms | |
| Lemutec.RemoteViewing.WPF |
Install via NuGet Package Manager:
# Core library
dotnet add package Lemutec.RemoteViewing
# Windows Forms control
dotnet add package Lemutec.RemoteViewing.Windows.Forms
# WPF control
dotnet add package Lemutec.RemoteViewing.WPF
🚀 Usage
🪟 VNC Client (Windows Forms)
using RemoteViewing.Vnc;
using RemoteViewing.Windows.Forms;
// Add VncControl to your form, then connect:
var options = new VncClientConnectOptions();
options.Password = "your-password".ToCharArray();
vncControl.Client.Connect("hostname", 5900, options);
🪟 VNC Client (WPF)
using RemoteViewing.Vnc;
using RemoteViewing.WPF;
// Add VncControl to your window, then connect:
var options = new VncClientConnectOptions();
options.Password = "your-password".ToCharArray();
vncControl.Client.Connect("hostname", 5900, options);
🖧 VNC Server
using System.Net;
using System.Net.Sockets;
using RemoteViewing.Vnc;
using RemoteViewing.Vnc.Server;
using RemoteViewing.Windows.Forms.Server;
// Listen for connections
var listener = new TcpListener(IPAddress.Any, 5900);
listener.Start();
var client = listener.AcceptTcpClient();
// Configure server options
var options = new VncServerSessionOptions();
options.AuthenticationMethod = AuthenticationMethod.Password;
// Create and start session
var session = new VncServerSession();
session.PasswordProvided += (s, e) => e.Accept("password".ToCharArray());
session.SetFramebufferSource(new VncScreenFramebufferSource("Desktop", Screen.PrimaryScreen));
session.Connect(client.GetStream(), options);
🎯 Supported Frameworks
| Package | Supported Frameworks |
|---|---|
| Lemutec.RemoteViewing | .NET Framework 4.6.2-4.8, .NET Standard 2.0/2.1, .NET 5.0-10.0 |
| Lemutec.RemoteViewing.Windows.Forms | .NET Framework 4.6.2-4.8, .NET 5.0-10.0 (Windows) |
| Lemutec.RemoteViewing.WPF | .NET Framework 4.6.2-4.8, .NET 5.0-10.0 (Windows) |
📡 VNC Protocol Support
| Feature | Client | Server |
|---|---|---|
| Raw Encoding | ✅ | ✅ |
| Hextile Encoding | ✅ | ✅ |
| Copyrect Encoding | ✅ | ✅ |
| Zlib Encoding | ✅ | ✅ |
| Password Authentication | ✅ | ✅ |
| Clipboard Sharing | ✅ | ✅ |
| 8-bit Color | ✅ | ✅ |
| 16-bit Color | ✅ | ✅ |
| 32-bit Color | ✅ | ✅ |
📄 License
This project is licensed under the BSD 2-Clause License. See LICENSE.txt for details.
🙏 Acknowledgments
- 👨💻 Original author: James F. Bellinger
- 📚 zlib compression support uses a C# port of zlib's deflate code
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0-windows7.0 is compatible. net6.0-windows was computed. net6.0-windows7.0 is compatible. net7.0-windows was computed. net7.0-windows7.0 is compatible. net8.0-windows was computed. net8.0-windows7.0 is compatible. net9.0-windows was computed. net9.0-windows7.0 is compatible. net10.0-windows was computed. net10.0-windows7.0 is compatible. |
| .NET Framework | net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. net48 is compatible. net481 was computed. |
-
.NETFramework 4.6.2
- Lemutec.RemoteViewing (>= 1.2.0-rc1)
-
.NETFramework 4.7.2
- Lemutec.RemoteViewing (>= 1.2.0-rc1)
-
.NETFramework 4.8
- Lemutec.RemoteViewing (>= 1.2.0-rc1)
-
net10.0-windows7.0
- Lemutec.RemoteViewing (>= 1.2.0-rc1)
-
net5.0-windows7.0
- Lemutec.RemoteViewing (>= 1.2.0-rc1)
-
net6.0-windows7.0
- Lemutec.RemoteViewing (>= 1.2.0-rc1)
-
net7.0-windows7.0
- Lemutec.RemoteViewing (>= 1.2.0-rc1)
-
net8.0-windows7.0
- Lemutec.RemoteViewing (>= 1.2.0-rc1)
-
net9.0-windows7.0
- Lemutec.RemoteViewing (>= 1.2.0-rc1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.2.0-rc1 | 22 | 1/23/2026 |