0
votes

I'm in the process of writing a specification to convert one of our most complex applications into an application which runs as a screensaver.

Currently this application will read from the file system & registry (User, but will be converted to Local Machine) and spawn multiple child executables drawing media elements on screen using WMP SDK and other media display libraries for images and flash. Some native to the OS, some not.

It is written in VB6 and must continue to be for this conversion.

This application currently operates as an application in the interactive account space. Usually with an account logged in as an administrator, or other highly elevated account. This application must operate without been logged in as a Screensaver.

Resources on doing this for my research are scant.

I'm keen to know the opinions of the SO community. Are there any limitations when running applications as screen savers when not logged in, considering security limitations of operating EXE's in this context. Are EXEs running as screensavers prevented from spawning other child processes or limited in reading file or registry information.

Are there any graphics handling restrictions with direct show or direct draw? Can systen ODBC's still be used?

This applies to Windows XP & Windows 7.

Thank you for your time.

1
I don't know if you ran across this link. It doesn't answer the more complicated issues of Direct Show (which I would imagine you have to access through COM), but it gives you a skeleton.jonsca
@jonsca - the links appears to be down?Damo
Okay, seems to be back now, my apologies for their server.jonsca
:) of course I wasn't holding you responsible, only asking the link was correct. Thanks, got it now.Damo
Screensavers are basically just an executable with a .scr extension so I don't imagine there is any limitation as to what you can and can't do (other than the usual Windows 7 UAC etc which you would have for an exe)Matt Wilko

1 Answers

0
votes

Thought I'd come back and close this off.

After some testing and discussions with Microsoft it turns out you cannot run complex applications as a screensaver when not logged in.

The session used at the windows log in screen has a limited desktop heap allocation by design. Attempting to use multiple resources or open many windows will not work as the heap will simply run out of memory.

Proven by testing and by MS's own word.