Code to start another program as Screensaver?

Hello all!

Has anyone some code for me to start a ‘normal’ program as screensaver? The normal program is in fact a screensaver but discussed in previous topics, Intel graphics doesn’t allow HW accelerated OGL screensavers. Now I’m trying to write a starter program which calls the real saver. Everything runs fine for test and preview but when the saver should start after some idle time, nothing happens.
Has anybody an idea or a code snippet (full code?)?

Thank you in advance!


This has nothing to do with OpenGL. Try a windows forum.

It HAS something to do with OGL because it affects an OGL program which doesn’t run as a screensaver because of strange Intel graphics drivers. Perhaps anyone else had the same problem with OGL screensavers and has a solution for it. It is NOT a general Windows problem!


I’ll help you out…

This behavior will be due to a Windows security feature on Win2K and above. Any process launched by the screensaver will be killed when the screensaver bails.

This security feature only applies when the screensaver starts on inactivity timeout.



Thank you for the information!
So this is also no option.

Originally posted by Marc:
It is NOT a general Windows problem!

Yes it is. You are trying to figure out why your screen saver (that doesn’t use GL) doesn’t start.

Originally posted by meanfox:
Any process launched by the screensaver will be killed when the screensaver bails.
If your Screensave is just starting (presumably) why is it bailing? Are you just launching your app and then letting the screensaver (ie. the *.scr) close? Rather than sitting in a loop and waiting until the system thinks the screen saver should bail? (Or waiting until your application closes of it’s own accord)

Again, not Opengl questions.

Oh, of course my screensaver uses OGL. And it starts very well. It just doesn’t become hardware accelerated. The workaround to write an intermediate program to start the final screensaver is in fact a hack.


P.S.: The message processing is done by the ‘fake’-Screensaver.

Ha, it works now! I made a mistake in the message loop. Now I can start another program as the actual screensaver.
Thank you all for your reply, it helped me to find the mistake.