Skip to content

This repository contains the Server part of the school project due for the Programmazione di Sistema class at Politecnico di Torino, Master of Science in Computer Engineering.

Notifications You must be signed in to change notification settings

fpolidoro/PDS_Server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 

Repository files navigation

PDS_Server

This repository contains the Server part of the school project due for the Programmazione di Sistema class at Politecnico di Torino, Master of Science in Computer Engineering.

The Client part can be found here.

Requirements

The project consists in a client-server solution for remote control of one or more Windows machines. The system is made of two parts: a server, written in C++, and a client, written in C#.

Server part

The server shall:

  • expose a socket and listen for a client on a specific port. No security is required for the communication between the two peers.
  • obtain the list of all the running applications having a graphical user interface and their processes
  • get the icon associated to each running application
  • know which application is currently on focus
  • send, to the application currently on focus, key combinations made of none or more modifiers (CTRL / ALT / SHIFT) followed by the corresponding keycode (a / b / c /... / 1 / 2 / 3 / ... / BACKSPACE / DEL / ESC / ...)
  • send the list of running application to the client, as soon as the connection is accepted, and next send all the important events occurring on the server machine, such as change of focus, closing of an application, starting of a new application
  • have a minimal graphical user interface living in the system tray area

Client part

The client shall:

  • have a graphical user interface
  • get the list of applications running on the server, the full name of the process and the associated icon (if available)
  • receive a notification whenever the above-mentioned list or focus change
  • visualize a graphical summary of the server's current activities and the percentage of time each application has been on focus
  • send a key combination to the application currently on focus on the server
  • [OPTIONAL] be able to connect to many servers, visualize their statistics and send key combinations to all the servers currently running a specific application (e.g. "send CTRL-X to all the server running Firefox")

About

This repository contains the Server part of the school project due for the Programmazione di Sistema class at Politecnico di Torino, Master of Science in Computer Engineering.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published