Posted on 2000-01-10
Created a screen saver blah.scr and installed it.
Problem is that when the screen saver kicks in, the desktop blanks out. If there is a background image, it remains in place, but all icons are removed.
When the screen saver ends, the original desktop is reinstated.
So, I thought, I'll be clever...
I let the screen saver blah.scr shell out an executable blah.exe and then the screen saver ends.
Tried this, and AFA the desktop is concerned, it works fine. When the screen saver kicks in, I see a quick flicker, but the desktop remains as is. So far so good.
But what's strange is that I cannot see the window for blah.exe
For this test I've kept everything very simple. "blah.exe" is just a simple executable popping up a little window. Absolutely nothing else happens in it.
So that is very odd. Blah.exe is definitely running. When I check with TaskManager, it is there.
It's almost as if when the screen saver kicks in NT creates a new "session", with it's own desktop etc.
I tried using the SetForegroundWindow and SetParent APIs to force the window to the foreground or at least on top of the desktop, but nothing helps.
Points + A for "this cannot be done" + short explanation.
More points + A for solution.