Please enable / Bitte aktiviere JavaScript!
Veuillez activer / Por favor activa el Javascript![ ? ]

PCHelpWare is a free alternative to the various paying remote assistance services that can be found on the net.
PCHelpWare is a powerful remote support software that allows you to control (right from your own PC) a distant PC connected to the internet. It is the ideal solution to provide quick remote assistance and help your customers, colleagues, friends and family members, even if they are on the other side of the world.
PCHelpWare is customizable: you can create your own server package with your logo and -company- name. The individual you want to remotely assist only has to download and execute your customized package. That's all

PCHelpware Introduction

PCHelpware Introduction

Download PCHelpware components (in Zip file format)

PCHelpware is basically made of three parts:
+A Viewer that is used to remote control a distant PC
+A Server that runs on the distant PC
+An optional Repeater that helps the Viewer and the Server to connect together. It is actually a mediation-proxy service.
Viewer and Server can be customized to fit your needs (see Part 3, Part 4 and Customization pages)
PcHelpware has two main connectivity schemes:
+Direct connection(can be used when only the server PC is behind a NAT router or simply not directly reachable)Server -> Viewer
+Connection through a repeater (can be used when both Viewer and Server PCs are behind their own NAT router)Server -> Repeater <- Viewer
- PC standing behind a NAT means that this PC can't be easily reached from outside (from the Internet)
- You must run the Viewer on your machine. The individual you want to help must run the Server on his machine. Even if this machine is behind a NAT the connection can be done because this connection is initiated by the Server from behind the NAT router to the Viewer over the internet.
See Part 2 for more details on connection modes and settings

PCHelpware Zip file contents


> Folders

- Connections:
This folder is used the save Viewer profiles
- Create_server:
This folder contain the needed files to generate the customized server exe
- Drivers:
If you wish to speedup your connections, you can install special Mirror Drivers under Windows 2000, XP and Vista.
- My Servers:
In this folder you find the generated servers. The servers are saved in a sub folder with the same name then the Viewer profile
- Repeater:
This folder contains the Repeater. An instance is most time running on the server
- Server_res:
Contain the background and icon of the server exe. Can be customized. 

pchelpware viewer dialog



This is the profile name used to save the viewer A "Direct Connection" is a connection between server and viewer, "Via Repeater" uses the repeater as a proxy List of saved viewer profiles.

Connection modes

Direct connection between Server and Viewer (Viewer <- Server)

Server PC connects to the public host name or ip address of the Viewer PC

PcHelpware Viewer

- A direct connection is faster

- A direct connection requires the viewer to be accessible from the internet

-> The Viewer PC needs to have an public ip address (ie: reachable from the internet)

-> Your router needs to forward the "Listen Port" (4) to the Viewer PC.
If you are lucky and your router support the MS implementation of UPnP, the viewer dialog can automatically forward the router ports

PcHelpware Viewer

You can check if your router supports UPnP by selecting a port in (4) and try to forward the port to your PC. Using Button "Map UPnP" (5). The result of the action is shown in the viewer dialog Log window (6). When UPnP works, you can select the "Auto Map" (5) to auto open and close the selected port together when the Viewer starts.

(1) and (4) are the only options you have to enter to create a direct connection

To make direct connection to the viewer easier, the server can use the Repeater Dynalias functionality
The repeater dynalias is an easy way of handling connections to viewers that have a dynamic ip address. On viewer start, the ip address is sent to the repeater service, the same service is used by the server to ask the ip address of the name (7).

PcHelpware Viewer


Actually the Repeater can act as dynaslias service. To get this working you need to enter an alias name (7) "for instance: my_little_test_server" (8) Host name or ip address of the repeater host (for instance: (9) Port used by the repeater as dynalias service (for instance: 5912)After you've entered (7), (8) and (9) you can test the reach ability of the repeater
(1), (4), (7), (8) and (9) are the only options you need to enter to create a direct connection

Indirect connection through a Repeater (Server -> Repeater <- Viewer)

Necessary when both the Server and Viewer stand behind NAT routers (typical NAT-to-NAT scheme)

PcHelpware viewer

- A repeater connection is slower, as all data passes through the repeater- No port forwarding is needed on server or viewer side- It can use the standard https proxy (see below for details)To set up the connection, the required fields are (1),(11),(8) and (12)The ID (11) is a unique number between 1-9999 that identifies the connection. The repeater matches the Server and the Viewer when they indicate the same ID number. Naturally you also need to enter the host name of the repeater (8) and the ports (12) it uses to listen for incoming viewers and servers connections.Use Https proxy (13): When this option is selected, the viewer first checks if the current OS settings require a proxy server to connect to the internet. If the OS uses a proxy, we use the same proxy to make a connection. PCHelpware supports a standard "connect" proxy and socks 4/5 proxy's with user name and password.By clicking "Test" (10) you can check what happens when you select "Use Https proxy"


Executable creation

> For each Viewer profile you create you have to create the corresponding Server package that will be able to connect the this listening Viewer

PcHelpware viewer pchelpware viewer

> Once you have made the Viewer configuration/profile you can create the corresponding server by selecting the top menu or pressing the button (14)

> In case you selected the repeater option, you also need to enter the port used by the repeater to listen for new server connections (15)


> The automatic creation of the Server makes the password mandatory so you must enter a password (16)

viewer con

> The Viewer profiles save the password (encrypted) and the server contains a MD5 hash of this password

> At this stage you have to make two choices:
- Force the user (on server side) to enter the password when he runs the server or make the server automatically use its embedded password hash.
- Force the user to enter the ID or Dynalias or make the server use its embedded ID and Dynalias


> When the Server creation is completed you can find the executable file in the "alias" sub directory
For the alias "test server" it gives this:


> When you run the Server executable , it displays a window like this


If you choose to embed the password and/or login (ID, dynalias) the corresponding entry fields are grayed

Summary view of Server executable creation


(1) Alias, use for saving profiles
(2) Switch: direct, repeater
(3) List of existing profiles
(4) Port used by the viewer (listening port)
(5) UPnP
(6) General log window
(7) Dynalias name
(8) Host name repeater
(9) Port dynalias service repeater (5912)
(10) The test button allow to test the repeater (server/viewer/dynalias port)
(11) ID number between 1-9999 to identify this connection
(12) Repeater port use to listen to new viewer connections
(13) Use https proxy
(14) Create server
(15) Repeater port used to listen to server
(16) Password

Viewer usage

Profiles management


> The profiles can be saved using (17).

> The selected profile can be removed using (18).

> (3) is the list of saved profiles.

> The profiles are saved with file extension .phw in the "Connections" subfolder

Starting the Viewer - Options


> (19) is used to start the viewer in the selected mode (direct, repeater).
> A running viewer can by stopped listening with (20).
> (21) quits the application
> The quality of the image can be selected with (22).
- High is full color high quality mix of jpeg and zlib
- Mid is mix of lower quality jpeg and zlib
- Low is 4bit gray scale image especially adapted to slow connections
Depending on the bandwidth some quality setting can be to slow
> Disable directX: On some PCs there is a problem to detect the correct directx behavior.
This option allows to manually cancel directX
> Auto Reconnect: Once the initial connection is finished, the viewer puts himself back in listen mode
or reconnects himself with the repeater. It is very useful in case of broken connection.

> Debug: internal use

Viewer toolbar functions


(1) Smaller viewer
(2) Bigger viewer
(3) Fullscreen on/off
(4) Force complete screen refresh
(5) Unlock Server input
(6) Show transparent layers (XP)
(7) Open Chat window
(8) Use ctrl-at-c to sync clipboard
(9) Exit viewer
(10) Lock Server input
(11) Use ctr-c to sync clipboard (all data is synced)

PcHelpware Customisation

PcHelpware Customisation

PCHelpware server layout customization

It is possible to customize the Server executables you generate for your the customers and individuals you want to help

Text customization








The customization file looks like this:


Internet support (Encrypted Direct Connection)

Internet support (Encrypted Repeater Connection)
-connect -id 543

Internet support (Autorecon Encrypted Repeater Connection)
-connect -id 543 -autoreconnect

Internet support (Proxy Encrypted Repeater Connection)
-connect -id 543 -proxy



















> Most of the entries speak for themselves and are represented on the picture above

> Other entries are explained below:

This is the message that is displayed when users press the [TEXTCONNECTBUTTON]
without selecting one of the [HOST] entry's.

When textbutton is defined, it allow you to define a web page.
Pressing the button open the web page.

This are the messages that are shown when the server is making or waiting for a connection.
It shown at the position of TEXTTOP,TEXTMIDDLE and TEXTBOTTOM (see image)

Same as for BALLOON1, but when connection is made.


Customizable Graphics




> logo.bmp: See the picture at the top of this page
> background.bmp: See the picture at the top of this page, the bmp is stretched over the full dialog window
> icon1.icon: This icon is shown in the systray and as the icon of the compressed (generated) exe.
> enter.bmp: See further, this is the graphic used with the special [ENTERCODE] directive.


Special values


When you have only one [HOST] entry, you can avoid that the user need to select the only [HOST].
Using [DIRECT] you skip the dialog.

Enter your ID

One [HOST] only, for a repeater connection. The -id number (-id 543) from the [HOST] line is ignored.
When you add entercode, the normal dialog is skipped, and a special enter ID dialog is displayed.




This allows the user to manually define an ID number

PcHelpware API

PcHelpware API

For developers who want to incorporate Remote Control into their product, PcHelpware can be utilised as another DLL, allowing for full integration into your application.

Custom development

Here is the minimum code needed to make an PCHelpware Server executable.

This sample start a loopback connection on port 5500

Please see the forum for more details

typedef void (__declspec(dllimport) *STARTSERVER)(char *, char *,char *,int,char *); //void Start_server(char *ID, char *repeater,char *direct,int port,char *passwd,bool proxy); //BETA7 typedef void (__declspec(dllimport) *STARTSERVER)(char *, char *,char *,int,char *,bool);
int main(int argc, char* argv[]) { HMODULE hDLL = LoadLibrary ("1SCDLL.dll"); STARTSERVER pStart_server; if (hDLL != NULL) { pStart_server = (STARTSERVER) GetProcAddress(hDLL,"Start_server"); if (!pStart_server) { // handle the error FreeLibrary(hDLL); return 0; } else { // call the function pStart_server("","","localhost",5500,""); // Beta 7 pStart_server("","","localhost",5500,"",0); } } return 0; }