Creating a Screenshot Server Part 2

In part 1, we created a console application that took screenshots of the desktop and saved them to a directory on the file system. (Code here I’ve effectively monitored the state of a running system which I could not RDP into by sharing the directory in which the images were saved.

The shared directory part is a little clunky though, so in this part, we’ll add a minimal webserver to the project using the OWIN/Katana self-host modules and SignalR to communicate with the client browser. OWIN is a community owned specification and open source project, whereas Katana are the Microsoft developed, open source components and extensions. Using these, we can create a minimal web server hosted by the console application developed in part 1. Continue reading “Creating a Screenshot Server Part 2”

Creating a Screenshot Server Part 1

I’ve been doing some testing recently that requires me to leave an application running for long periods of time being interacted with through an AutoHotkey script. The nature of these tests meant that RDPing into the machine would invalidate them. With RDP out as an option, I started thinking about how I could remotely monitor the system in a simple way.

I through together an application to take screenshots at fixed intervals and dump the files into a shared folder. I could then access the shared folder remotely and see what was going on at any given time. As a bonus, I had a history of what had been happening. This worked rather well for my needs so I thought I’d share how it works.

In part 1, we’ll create the library to periodically capture screenshots and add a simple console application to consume it and give us feedback. Next, in part 2, we’ll create a webpage running on a local server to show us the images without the need for hacky folder shares. Let’s get started! Continue reading “Creating a Screenshot Server Part 1”