.NET VNC Viewer
- Apr 24, 2007 - .NET VNC Viewer 184.108.40.206 has been released. This beta
supports listen mode and a few new features useful for Smartphone users.
Try it out.
- Apr 24, 2005 - .NET VNC Viewer 220.127.116.11 has been released. This beta
supports UltraVNC-style server-side scaling and single window mode, and it
lets you choose whether to update the screen ASAP or in a batch. Please see the history section
for other new features and bug fixes. Try it out. I
almost forgot - this one has an icon.
- Mar 22, 2005 - I must say thanks to Ron Swensson for all the informative
and insightful bug reports and feature requests submitted! Without Ron's help
I couldn't possibly have implemented the Smartphone version and other neat
features in .NET VNC Viewer. Thank you very much.
.NET VNC Viewer is a VNC viewer written entirely in C#. It is binary
compatible with Smartphones, Pocket PCs and Windows desktops (with .NET Compact
Framework or .NET Framework). I write this mainly because other VNC viewers on
Pocket PC do not do full screen and screen rotation.
In addition, I have the following in my mind when I write .NET VNC Viewer:
- To ensure source and binary compatibility on Smartphones, Pocket PCs and
- To make sure that it can be built freely on Pocket PCs (Pocket C#) and
Windows desktops (only .NET Framework SDK 1.1 needed and Visual Studio not
- To learn C# and .NET (Compact) Framework in its pure form. Avoid P/Invoke
calls and try not to link to any other libraries except the Framework.
For more information please refer to the
Features section and the
Screenshots section. You may also go directly to the
Download section to get a copy of .NET VNC Viewer.
- Of course, basic VNC viewer functionalities.
- Full screen mode.
- Client-side scaling.
- Server-side scaling and single window mode.
- Screen rotation.
- Session history.
- Hi-Res support for VGA Pocket PCs and QVGA Smartphones.
- Listen mode.
I am getting tired of updating the screenshots on all platforms, so I only
have a few here. Please look at the old ones if you
want some more.
On a Windows desktop
On a Pocket PC
On a Smartphone
Releases of .NET VNC Viewer can be downloaded from
It works on the following devices:
- It should work on all Windows desktops with .NET Framework 1.1 (or later).
I only tested it on my workstation with Windows XP Home and Professional,
- It should work on all Pocket PCs with .NET Compact Framework 1.0 (or
later). I only tested it on my HP 4150 with Windows Mobile 2003 though.
- It should work on all Smartphones with .NET Compact Framework 1.0 (or
later). I only tested it with an emulator.
- It should work on other Windows CE devices with .NET Compact Framework 1.0
installed. I haven't tested any.
It may or may not work on previous versions of .NET Framework.
Just copy the exe to a directory on your device and
execute from there.
Most of the time it should be pretty straight forward, but there are some
features that are not so obvious.
To exit full screen mode on a desktop, "tap-and-hold" your right mouse
button. A context menu will appear that let you go back to window mode. To exit
full screen mode on a Pocket PC, tap-and-hold on the touch screen. After the dot
goes around the big circle once, release your stylus and the context menu will
popup (if it goes around the big circle twice a right mouse click is sent to
the server). To exit full screen mode on a Smartphone, "tap-and-hold" soft key
To enter letters on a Smartphone, press "*" on your keypad. A textbox will
show at the lower right corner and you can enter letters as well as the arrow
keys, backspace, enter, etc. The textbox will dismiss itself automatically after
idle for several seconds.
Any comments and questions should be directed to the corresponding forum at
- It crashes if executed from a share.
- There is a bug in UltraVNC. Don't mix server-side scaling with single
window mode. (Try to do this with UltraVNC viewer and you will know what I
- It does not work with UltraVNC 1.0.0 RC 19.5 to RC 20.4 due to a bug in
UltraVNC. Please stay with RC 18 or upgrade to at least RC 20.5.
Comments on C# and .NET (Compact) Framework
- C# and its base library are excellent in terms of the features they
provide and ease of programming. For example, threading classes and collection
classes are easy to use and they work in pretty much the same way on
Smartphones, Pocket PCs and Windows desktops. Many lines of code would have
been needed if these classes did not exist.
- Performance is pretty good on Windows desktops. On Pocket PCs the
performance difference between native and managed code is more apparent.
- Some very important features are still missing from .NET Compact Framework
1.0. E.g., clipboard support is missing, multi-media support is missing, and
editable combo box control does not yet exist. Hopefully these features will be added
in .NET Compact Framework 2.0.
18.104.22.168 (Apr 24, 2007)
- Implemented listen mode.
- Added an option for Smartphone users to turn off mouse acceleration.
- Added an option for Smartphone users to choose the mouse speed after turning
off mouse acceleration.
- For Smartphones with a QWERTY keyboard, now the lower case "p" and "q" keys
should work as expected.
- More keys were added to the Keys menu (Esc, Tab, and Fn keys).
- Avoided an exception for some .NET CF devices with no connection manager.
22.214.171.124 (Apr 24, 2005)
- Server-side scaling and single window mode implemented.
- On a PPC or a Smartphone, now the viewer calls into the connection manager
to initiate a network connection (e.g. GPRS) before connecting to the server.
From now on the viewer is not P/Invoke-free anymore.
- Added an icon.
- Added an option for users to choose whether to update the screen ASAP or
in a batch.
- Added a sample build script.
- Fixed a bug that would hang the viewer if the connection is terminated
126.96.36.199 (Mar 22, 2005)
- Client-side scaling implemented.
- Fixed a problem with Smartphone key input mode which prevents the viewer
from going back to mouse mode after exiting extended input mode.
- For Smartphones, the back soft key is now backspace even not in key input
- Improved the code for painting.
- Made adjustments to thread priority to provide a more responsive UI.
- Added "Shift Down" and "Shift Up" to the "Keys" menu.
- For Smartphones, added an option to send the mouse location to the server
when the cursor is idle.
- Fixed a bug on Smartphones that would cause the right mouse button to not
properly function after exiting full screen mode.
1.0.1 (Feb 27, 2005)
- Smartphone support.
- Hi-Res support for VGA Pocket PCs and QVGA Smartphones.
- Better full screen support (remote desktop centered with black
- Better desktop support (intuitive right click handling).
- Workaround for a bug in .NET CF prior to SP3 that hangs the viewer upon
- Workaround for a bug in .NET CF prior to SP3 that crashes the viewer when
the server terminates the connection.
- Other cosmetic changes.
- Merged content of TODO.txt and HISTORY.txt into README.txt. README.txt was
1.0.0 (Jan 19, 2005)
- UltraVNC proxy support.
- ZRLE encoding.
- Status reporting.
The official VNC site.
This is a variant of VNC on Windows. It supports many features not in the
original VNC suite. Most of the code of .NET VNC Viewer is derived from
Currently .NET VNC Viewer is hosted on
SourceForge. For news and releases of .NET VNC Viewer please visit the
project web at
Copyright (C) 2004-2005, 2007 Rocky Lo. All Rights Reserved.
Last Update: Apr 24, 2007