[Newbies] Re: Screensaver detection

Andrew Tween amtween at hotmail.com
Wed Feb 13 08:17:33 UTC 2008

Attached is a class that should do what you want.
You will need to install FFI before filing it in.
To test it, evaluate the following...

[Win32ScreenSaver  active]
  (Delay forSeconds: 1) wait].
'screensaver active' inspect

and wait for your screen saver to activate.

I have only tested it on Vista.
It probably won't work on older Windows versions (95 / 98).


"Uwe Loew" <uwe_loew at gmx.net> wrote in message 
news:001f01c86dc1$c6a866e0$0200a8c0 at uwe...
Hello squeak professionals,

in our process monitoring software we use a background process to update the 
displayed values.

breakFlag := false.
delay := Delay forMilliseconds: 10.
Processor fork: [
            [ breakFlag ] whileFalse: [
                backgroundProcess := true.      "Process is now active "
                    delay wait.
                    ........................................."calling the 
GUI update methods displaying the measured values from the process"
                   delay wait.
            backgroundProcess := false.         "Process is going to 
terminate "
        ] at: Processor userPriority - 5

Processor is an instance of ProcessScheduler.

Something in our GUI update software wastes memory and over some days 
crashes the system. So the user has to stop the background display process 
when leaving the system and to restart it when coming back. We now want to 
automate this switching on and off of the GUI updates by checking the 
screensaver status of windows. Our wish is to check in each update cycle, 
whether the windows-screensaver is on, and depending on this status, to 
update the GUI display or not.
Can anybody of you give us a hint, how to check, whether windows has 
switched of the desktop-display and displaying the screensaver, or is still 
displaying the desktop containing the squeak window?

Thank you very much.

Best regards


Beginners mailing list
Beginners at lists.squeakfoundation.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Win32ScreenSaver.st
Type: application/octet-stream
Size: 894 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/beginners/attachments/20080213/1d91d676/Win32ScreenSaver.obj

More information about the Beginners mailing list