http://dotnetvnc.sourceforge.net/
.NET VNC Viewer
News
- Apr 24, 2005 - .NET VNC Viewer 1.0.1.16 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.
Introduction
.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 Windows desktops.
- 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 required).
- 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.
Features
- 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.
- etc.
Screenshots
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 |
Download
Releases of .NET VNC Viewer can be downloaded from SourceForge at this page.
Requirements
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 Professional, however.
- 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.
Installation
Just copy the exe to a directory on your device and execute from there.
Usage
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 2.
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.
Support
Any comments and questions should be directed to the corresponding forum at this page.
Known Issues
- 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 mean)
- 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.
History
1.0.1.16 (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 unexpectedly.
1.0.1.10 (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 mode.
- 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 background).
- Better desktop support (intuitive right click handling).
- Workaround for a bug in .NET CF prior to SP3 that hangs the viewer upon exit.
- 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 revised.
1.0.0 (Jan 19, 2005)
- Initial release.
TODOs
- Status reporting.
- ZRLE encoding.
- etc.
References
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 UltraVNC's codebase.
Currently .NET VNC Viewer is hosted on SourceForge. For news and releases of .NET VNC Viewer please visit the project web at this page.


