/Windows-Remote-Control

Project developed for the Concurrent Programming course at the Politecnico di Torino (2013/2014)

Primary LanguageC#

Windows Remote Control

NOTE: the software has a pure educational purpose

Contributors: di Girolamo Luigi (luispdm), Siino Alessandro (alessandroesse).

Description

Project developed for the Concurrent Programming (Programmazione di Sistema) course at the Politecnico di Torino in the 2013/2014.

The application is a Client-Server like. It is possible to share three resources: keyboard, mouse and clipboard between several Windows Machines (tested on Windows 7 and Windows 8). It works only in LAN (since desktop sharing is not provided). Clipboard sharing is bidirectional

Resources sharing is possible one at time, so a Thread synchronization mechanism was necessary.

The Server needs to be installed on the machine that receives the input (could be more than one); while the Client is the one who takes control of the resources. Once the server is installed, you need to type in IP address, port and password to start listening. If the client wants to control that server, the credentials need to match.

Once the connection is estabilished, the server window automatically goes into try icon and the user can realize he's been controlled thanks to a thin red square wrapping the display.

It is possible to copy and send three kind of files:

  • Image (bitmap encoding)
  • File (or directory)
  • Text

When copy is performed, before hitting the network, the file is compressed into a zip and stored into a temporary folder. A 3rd-party library was used called ICSharpCode. When the file is sent, the counterpart will unzip and then paste it into the clipboard. The compression part occurs only if you send a file/directory.

The instructions of use (like particular key combinations) are in the main window of the program; unfortunately, like code's comments, they are all in Italian.

The two .exe can be found here under the root (FinalClient and FinalServer).

Topics: C#, XAML, Visual Studio 2013, .NET, WPF, Win32 functions.

NOTE: no security mechanism (like a crypto stream) implemented, the password could be easily sniffed over the network.