Is it possible? Yes!
Is it easy? Probably not.
Would it be worth your while to do it?
The answer probably depends a lot on what you want to actually achieve? Why you want to acheive it? And why you want to do it in perl?
Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller
| [reply] |
It's not clear if you want to "achieve exclusive control" or if you merely want to implement a screen saver.
In Win32, screensavers are special executables which don't contain a regular window procedure or message loop of their own, but are handed certain filtered messages through a special window procedure. If you google for "MfcSaver" you'll get my C++ classes which wrap the Win32 concept of a screensaver. I haven't seen any script-language bindings for an equivalent program without the native window procedure.
If you're looking to achieve exclusive control, you'll have to get more detailed: do you want to get keyboard hooks? mouse capture? GDI lockdown? Each of these should be pretty straightforward if not childs' play with the perl-Win32 API bindings, but it's an API of inclusion: by that, I mean that you have to know what you want to control before you can add support to control it. Any Windows feature your program isn't aware of, it won't be able to control. There's no "lock down everything, and let me unlock this or that," at least, none which are documented.
-- [ e d @ h a l l e y . c c ] | [reply] |