Tagged as "windows"

Displaying a program on the Windows secure desktop

programming windows C# pinvoke secure desktop

Recently I ran into a situation where it was desirable to have a program that ran and was visible on the Windows lock screen. Under ordinary circumstances this is something that just shouldn't be done. The Windows lock and logon screens are... sacred, in a sense, and displaying something on those screens is both a usability and security no no. That said, it's still possible to do and in unique situations it may even be the right solution. Plus, it was an interesting research exercise.

In my case, the machines that needed a program displayed on their lock screen were being used to drive the display of LCD screens for communication purposes. They would never be touched by a human, and in fact the purpose of running the machines on the Windows lock screen is to prevent tampering. This led me to investigate the feasibility of having a program display on the lock screen and eventually a working implementing written in C#.

Ultimately, I decided to implement a different set of security protocols to prevent unauthorized access to the machines, but nevertheless I figured I'd share my research here. Let me reiterate: please carefully consider whether it is necessary to display a program on the lock or logon screens, as Windows is specifically designed to prevent programs from doing so (think of what a pain a malicious program could be). Done considering? Well then read on!

© 2012 Caleb Delnay
Powered by Drupal, an open source content management system