1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217
|
<html>
<head>
<title>WinVNC - The Win32 VNC server</title>
<link REL="stylesheet" HREF="styles.css" TYPE="text/css">
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
<meta name="keywords" content="VNC, ORL, Virtual Network Computing, thin-client">
<style>
<!--
.itemheader { font-family: Arial, sans-serif; color: rgb(128,0,128); font-weight: bold; font-size: smaller }
-->
</style>
<meta name="Microsoft Theme" content="none, default"><meta name="Microsoft Border" content="none, default"></head>
<body bgcolor="#FFFFFF" vlink="#000080">
<!--webbot bot="Include" U-Include="_private/header.html" TAG="BODY" startspan -->
<table border="0" width="100%" cellpadding="2">
<tr>
<td width="130"><p align="center"><img src="images/vnc.gif" alt="VNC logo" align="center" WIDTH="120" HEIGHT="105"></td>
<td width="20" valign="bottom"></td>
<td width="100%"><h1 align="center"><em>Virtual Network Computing</em><br>
<small><em>from ORL</em></small></h1>
</td>
<td width="75"><a href="http://www.orl.co.uk/"><img src="images/newlogosmall2.gif" alt="ORL" align="right" border="0" WIDTH="70" HEIGHT="47"></a></td>
</tr>
</table>
<hr color="#000080">
<!--webbot bot="Include" endspan i-checksum="5938" -->
<div align="left">
<table border="0" width="100%">
<tr>
<td width="20%" valign="top" align="center" bgcolor="#DCD9BE" background="images/sidebarbg.gif"><!--webbot bot="Include" U-Include="_private/sidebar.html" TAG="BODY" startspan -->
<p align="center"><a href="index.html"><img src="images/homebutton.gif" alt="[Home]" border="0" WIDTH="120" HEIGHT="33"></a><br>
<a href="screenshots.html"><img src="images/screenbutton.gif" alt="[screenshots]" border="0" WIDTH="120" HEIGHT="33"></a><br>
<a href="free.html"><img src="images/freebutton.gif" alt="[free?]" border="0" WIDTH="120" HEIGHT="33"></a><br>
<a href="start.html"><img src="images/startbutton.gif" alt="[getting started]" border="0" WIDTH="120" HEIGHT="33"></a><br>
<a href="docs.html"><img src="images/docbutton.gif" alt="[documentation]" border="0" WIDTH="120" HEIGHT="33"></a><br>
<a href="download.htm"><img src="images/downloadbutton.gif" alt="[download]" border="0" WIDTH="120" HEIGHT="33"></a><br>
<a href="intouch.html"><img src="images/intouchbutton.gif" alt="[keep in touch]" border="0" WIDTH="120" HEIGHT="33"></a><br>
<a href="http://www.orl.co.uk/"><img src="images/orlbutton.gif" alt="[ORL]" border="0" WIDTH="120" HEIGHT="33"></a></p>
<!--webbot bot="Include" endspan i-checksum="44984" -->
</td>
<td width="8%" valign="top"><p align="center"><a href="docs.html"><img src="images/backbutton.gif" alt="back to docs" hspace="2" border="0" WIDTH="20" HEIGHT="20"></a></td>
<td width="100%" valign="top"><h2 align="left"><b>WinVNC - The Windows NT VNC server</b></h2>
<p><img src="images/winvnctray.GIF" alt="WinVNC in system tray" align="right" hspace="6" vspace="5" WIDTH="199" HEIGHT="118">WinVNC is a VNC server that will allow you to view your Windows desktop from
any VNC viewer. Because Windows NT in its present, standard incarnation, only supports a
single graphical user being logged in at any one time, WinVNC makes the existing desktop
of the logged-in user available remotely using VNC, rather than creating a separate
desktop. It is only fair to emphasise that VNC does <strong><em>not</em></strong> make an
NT machine into a multi-user server in the same way that Citrix-based software, for
example, does. A single NT machine can therefore be accessed by multiple users, but not
(usefully) at the same time. </p>
<p>However, this is offset to some degree by the fact that WinVNC will run on Windows NT
4.0 and on any future Win32-based systems, without the need to replace any system files or
run any OS-specific versions of the program. It is a standard application that can be run
from the Start... menu and closed down just as easily. And, of course, it's free. We
hope that making the source code available will enable programmers who know more about the
internals of Windows than we do to find ways to improve this aspect of WinVNC.</p>
<h3>Installation</h3>
<p>WinVNC is fairly simple to install and even easier to use. Installation involves the
following steps:<ul type="disc">
<li>Run the WinVNC setup program.</li>
</ul>
<ul type="disc">
<li>Optionally, install the default VNCHooks registry settings by selecting Install Default
Registry Settings from the WinVNC folder in the Start menu. This will install the default
hooks settings, which are tweaked to cope with some common, uncooperative applications,
such as the clock. See later for more information about the registry settings. </li>
</ul>
<ul type="disc">
<li>WinVNC can now be run from the Start menu. Alternatively, you can use the
Start->Settings->Taskbar menu to add a shortcut to your Startup group, which will
cause WinVNC to be run every time you log in.</li>
</ul>
<h3>Using WinVNC</h3>
<p>On starting, WinVNC will add a small, green version of the VNC icon to the system task
bar. Clicking on this icon with the right mouse button will cause a menu to be displayed,
with the following options on it:<ul>
<li><span class="itemheader"><strong>Properties</strong></span> - This will cause the
Properties dialog to be displayed, allowing the user to change various WinVNC parameters. </li>
<li><span class="itemheader"><strong>Kill All Clients</strong></span> - This will disconnect
all currently connected clients from the server. </li>
<li><span class="itemheader"><strong>Close</strong></span> - Shutdown the server. </li>
</ul>
<h3>WinVNC Properties</h3>
<p>The following options are available from the Properties dialog.</p>
<p><font color="#800080">Incoming Connections</font><ul type="disc">
<li><span class="itemheader">Accept Socket Connections</span> - The server accepts direct,
socket-based connections from the vncviewer program, on a specified port number. Clearing
this tick-box disables direct connection to WinVNC, so that only the CORBA interface may
be used to start a connection. (See <a href="internalversion.html">ORL internal version</a>
info)</li>
<li><span class="itemheader">Display Number</span> - This allows the user to specify the
display number which the server will use.</li>
<li><span class="itemheader">Password</span> - Incoming connections must be authenticated to
verify that the person connecting is allowed to connect to this machine. This text box
allows a password to be specified for authentication. If no password is specified then no
authentication is required to connect to the server. </li>
</ul>
<p><font color="#800080">Update Handling</font><ul type="disc">
<li><span class="itemheader">Poll Full Screen</span><font color="#0000ff"> </font>- Some
applications are incompatible with the methods currently used in WinVNC to trap screen
updates. For this reason, it is sometimes useful to be able to poll the entire screen in
order to check for changes, sacrificing performance for accuracy. </li>
<li><span class="itemheader">Poll Foreground Window</span> - Polling only the currently
selected window for changes is less CPU intensive than full-screen polling and often gives
similar results, for example when using the Command Prompt, which is not normally
compatible with WinVNC. </li>
<li><span class="itemheader">Poll Window Under Cursor</span><font color="#0000ff"> </font>-
A variation on Poll Foreground Window, this option causes the window under the mouse
cursor to be polled for changes. Both options may be enabled simultaneously if required. </li>
<li><span class="itemheader">Poll Console Windows Only</span><font color="#0000ff"> </font>-
When this option is set, the only windows which will be ever be polled are Command
Prompts. This works well in conjunction with Poll Window Under Cursor, to use polling only
when the cursor is over a console window. </li>
<li><span class="itemheader">Poll On Event Received Only</span><font color="#0000ff"> </font>-
When this option is set, the screen will only be polled for updates when a mouse or
keyboard event is received from the remote client. This is provided for low bandwidth
networks, where it may be useful to control how often the screen is polled and changes
sent. </li>
</ul>
<p>The user's settings are saved into the user-specific section of the registry when
WinVNC quits, meaning that they will be used next time you run WinVNC.</p>
<h2>VNCHooks - Advanced Settings</h2>
<p>WinVNC uses a special library, VNCHooks, to hook into the other running applications
and retrieve notifications of areas of the screen being changed. The VNCHooks
library uses the messages sent to visible Windows to decide which areas need considering
for update. Not all applications use the same method of updating the screen, so you can
tweak the method used by WinVNC for particular applications by editing the registry. All
the entries listed can be found under</p>
<p align="center">HKEY_CURRENT_USER\Software\ORL\VNCHooks\Application_Prefs</p>
<ul type="disc">
<li><span class="itemheader">use_GetUpdateRect</span><br>
When a window recieves a message, (WM_PAINT), indicating that it should repaint itself, it
is possible to find out precisely which regions have changed, so that WinVNC need only
scan those for potential updates,increasing efficiency. However, this can cause graphical
glitches occasionally, particularly when an application scrolls the contents of its
window, in which case only the revealed section of the window is marked as needing to be
updated. If these glitches prove to be a problem then edit the <tt><em><appname></em>\use_GetUpdateRect</tt>
entry in the registry. A value of one indicates that this optimisation will be used, while
a value of zero indicates that it will not. </li>
</ul>
<ul type="disc">
<li><span class="itemheader">use_Timer</span><br>
A number of Windows applications, most notably the Clock program, use WM_TIMER events to
trigger updates to their displays, rather than WM_PAINT messages. By default, timer
messages are not used to notify WinVNC of potential updates, since many programs use timer
events for purposes other than updating the screen. As a result, the clock and a few other
applications don't normally update correctly under WinVNC. The fix to this is to edit the <tt><em><appname></em>\use_Timer</tt>
entry in the registry. A value of one indicates that WM_TIMER messages will trigger WinVNC
updates, while a value of zero indicates that they will not. </li>
</ul>
<ul type="disc">
<li><span class="itemheader">use_KeyPress</span><br>
Some Windows applications write characters directly to the screen when a user types into a
window, rather than using WM_PAINT messages to cause the text to be redrawn. To fix this,
WinVNC can scan the window every time a key is pressed, in order to catch the change. To
set this value for a problem application, edit the <tt><em><appname></em>\use_KeyPress</tt>
entry in the registry. A value of one indicates that key presses will cause updates, while
a value of zero indicates that they will not. </li>
</ul>
<ul type="disc">
<li><span class="itemheader">use_LButtonUp</span><br>
Some Windows applications update the display directly in response to mouse clicks, without
using intermediate WM_PAINT messages, for example. In order to catch such updates, it is
necessary to trigger WinVNC to update the relevant window whenever the left mouse button
is released. To set this value for a problem application, edit the <tt><em><appname></em>\use_LButtonUp</tt>
entry in the registry. A value of one indicates that left-button clicks will cause
updates, while a value of zero indicates that they will not. </li>
</ul>
<ul type="disc">
<li><span class="itemheader">use_DeferredUpdate</span><br>
The VNCHooks library catches messages sent to windows <em>before</em> they are dealt with
by the window. As a result, sending an update message to WinVNC to indicate the potential
change can result in WinVNC sending the updated area to the client before it has actually
been redrawn by the application! This is a common problem, especially on multiprocessor
versions of NT, so deferred updates are used by default. Deferred updates are handled by
posting a custom message back into the window's own message queue rather than posting to
WinVNC directly. By the time this custom message is seen again by the VNCHooks library,
the message that caused it will have been handled and the update can then be forwarded to
WinVNC without danger of being handled prematurely. A few programs don't handle these
extra messages in their queue very well, so this optimisation is optional. It can be set
by editing the <tt><em><appname></em>\use_DeferredUpdate</tt> entry in the registry.
A value of one indicates that deferred updates will be used, while a value of zero
indicates that they will not. </li>
</ul>
<h2>Other Win32 systems</h2>
<p>WinVNC runs on Windows 95 and Windows 98 but has some reliability problems which we are
still investigating. It runs fine on NT3.51 but the absence of a system tray means that
the Properties dialog cannot be accessed. It also runs on NT5 beta, though the
animated pop-out menus do not update very well.</p>
<p>If you have a choice we recommend NT4.0 with the service packs and IE 4.01 desktop
enhancements. The enhanced Start menu uses WM_PAINT messages and so updates better under
VNC.</p>
<p> </p>
<p align="right"><a href="docs.html"><img src="images/backbutton.gif" alt="back to docs" hspace="5" border="0" WIDTH="20" HEIGHT="20"></a><em>go back to <a href="docs.html">documentation</a></em></td>
<td width="5%"></td>
</tr>
<tr>
<td width="128%" valign="top" align="center" colspan="4"><!--webbot bot="Include" U-Include="_private/footer.html" TAG="BODY" startspan -->
<hr color="#000080">
<p align="center"><em><small>Copyright 1998 - The Olivetti & Oracle Research Lab</small></em></p>
<!--webbot bot="Include" endspan i-checksum="3896" -->
</td>
</tr>
</table>
</div>
</body>
</html>
|