title: How can a screensaver continue to draw over the desktop in Windows 8?
body: <p>I’m developing a screen saver in C# .NET4.0 on VS2010 which needs to do a fair bit of processing before it actually shows screens (fairly complex database access).  This is fine because the user is unaware that this processing is going on and then the full screen forms kick in when everything is ready.  That is, unless we are running on Windows 8.</p>
  
  <p>Searching on the Microsoft Community (<a href="http://answers.microsoft.com/en-us/windows/forum/windows_8-desktop/bubbles-screensaver-has-black-background/e0807324-5ca6-4abe-b6ba-716848b41ff5?page=4" rel="nofollow">http://answers.microsoft.com/en-us/windows/forum/windows_8-desktop/bubbles-screensaver-has-black-background/e0807324-5ca6-4abe-b6ba-716848b41ff5?page=4</a>) reveals that a design change was made in Windows 8 that prevents screensavers from drawing over an image of the desktop.  Any screensaver that previously drew over the desktop will instead draw over a plain background using your chosen “metro” background colour.  Experimenting reveals that this background kicks in immediately the .scr file launches i.e. before any forms can be displayed.  Hence tricks like displaying forms minimised or with 0% opacity don’t work because this simply reveals the plain background underneath.</p>
  
  <p>The best I’ve been able to come up with is to display full screen plain black forms as first action when my code starts i.e. before any database processing or other screen construction takes place.  Why try to replace a plain screen with another plain screen?  Well, because the default Windows background colour seems to be blue.  That’s blue as in BSOD blue which looks kind of alarming when it kicks in.  So the best I can do for a Windows 8 user experience is a quick flicker of blue followed by 3-4 seconds of plain black before screens are populated with something meaningful.
  This new behaviour from Microsoft is apparently “by design”.  The fact that it doesn’t manifest itself in Preview mode is apparently an error which one supposes MS will tidy up later.</p>
  
  <p>So my question is does anyone know any way around this so that I can continue to have the desktop showing until screensaver forms are ready to kick in?</p>