PC Remote (Source Code Included)
This program, written in Visual Basic, has similar functionality to the well-known GoToMyPC service provided by
Citrix Online: user can remotely control his or her
computer. The user opens a server on the target machine, and he or she moves to
another machine and opens a client.
Given sufficient access the client can control the target
computer via mouse and the keyboard. The user has many options, including image quality, frame rate, protocol type, screen updating scheme, etc.
The way I implemented this program is the server keeps sending screen shots of the desktop to the client as images and the client displays those images as they come in.
When user moves and clicks on the mouse and types on the keyboard the corresponding event is generated and sent over to the server.
Once the server receives it it applies that event to the host computer. That's it!
After completing the implementation I tested it out with my friend and it worked fine. Later I found that it was horrendously slow when the client is thousands of miles away from the server (e.g.
China from the US). I realized that speed is crucial in making this a reasonable piece of
I found that the major bottleneck is I used 24-bit bmp format to save images and the image size is very large. I fixed it by using jpeg format instead and it saves TONS of space. So any lesson you learned from all this?
When dealing with a problem, try to think in a broader, realistic perspective.
Here are some screen shots:
Here's the entire source code. Use at your own risks.
Source Code for PC Remote Program in Visual Basic