Monthly Archives: January 2015

How to uninstall Windows Phone SDK

Windows Phone SDK is included in Visual Studio 2013 now. If you are lucky enough you might have an entry for it in “Programs and Features” which will allow you to uninstall it. Sadly for me, this was not the case as there was no visible way to uninstall it from my system.

One solution that allowed me to uninstall Windows Phone SDK was to navigate to the packages folder that can be found in the Virtual Studio CD or .ISO file then look for the WindowsPhone81SDK folder, or something with a similar name in case the version is different.

Inside you will find some .msi files, simply right click on the files then select “Uninstall”. If Windows Phone SDK is installed on your computer the uninstallation process will begin.

How to keep your screen always on

On most systems this can be configured by going to Control Panel --> Power Options --> Choose when to turn off the display, but there are always some situations that this solution will not suffice. As an exmaple, the last time I faced this problem, Active Directory’s settings were overriding my system’s settings, which caused my display to turn off every 5 minutes regardless of how much I tried to tweak it using the Power Options.

As a workaround I decided to create a small application that would just keep the screen from turning off. I decided to share it with you in case you ever find yourself in a similar position.

You can download the program here.

If you know a bit about programming you can take a look at the source code below that will give you an idea on how this is achieved.

The theory behind this solution is very simple. We are using the SetThreadExecutionState windows function to notify the system that the screen should stay on.

Flags Descriptions
ES_AWAYMODE_REQUIRED (0x00000040)
Away mode should be used only by media-recording and media-distribution applications that must perform critical background processing on desktop computers while the computer appears to be sleeping. See Remarks.

ES_CONTINUOUS(0x80000000)
Informs the system that the state being set should remain in effect until the next call that uses ES_CONTINUOUS and one of the other state flags is cleared.

ES_DISPLAY_REQUIRED(0x00000002)
Forces the display to be on by resetting the display idle timer.

ES_SYSTEM_REQUIRED(0x00000001)
Forces the system to be in the working state by resetting the system idle timer.