How to implement screen saver functionality - turn off LCD backlight after predefined user inactivity time

How to implement screen saver functionality - turn off LCD backlight after predefined user inactivity time

Post by Dariusz Cz » Tue, 12 Jul 2005 23:55:08


Hello,



I created custom platform for our industrial device (Platform Builder 4.2).
This is a platform with GUI (IABASE) but without the shell and it doesn't
have a taskbar and a desktop window. My platform doesn't use full power
management, it uses pmstubs instead.



I have implemented PowerHandler function in display driver and additionally
DrvEscape to "manually" control LCD backlight.



I would like to implement a feature like screen saver (turn off LCD
backlight, after predefined user inactivity time).



I found in PB help following registry settings that as I think should be
appropriate for such task.



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power]

"BattPowerOff"=dword:0

"ExtPowerOff"=dword:0

"WakeupPowerOff"=dword:0

"ScreenPowerOff"=dword:4



[HKEY_LOCAL_MACHINE\Comm\CXPort]

"NoIdleTimerReset"=dword:1



When I set ExtPowerOff to no zero value it works fine i.e. PowerHandler in
my display driver is called and also other functions for power off are
called. But unfortunately when instead of ExtPowerOff, I set ScreenPowerOff
to no zero value (I just want turn off backlight not power off whole
system), nothing happens.



I found that GWES is trying to send WM_POWERBROADCAST, PBT_APMUSERIDLE to
the taskbar window but as I mentioned earlier I have no taskbar.



Now for test I have registered my application window as a taskbar
(RegisterTaskBar) and now it receives appropriate WM_POWERBROADCAST
messages.



My question is that is it the right solution to set the main window of my
application as a taskbar window?

If so what about the desktop window?

The docs say that a taskbar and a desktop should be created before
RegisterTaskBar. But I don't want a desktop and a taskbar so could I use the
same window to be both a desktop and a taskbar?



Or maybe is it another solution (without a taskbar)?
 
 
 

1. Log off user after inactivity instead of screen saver?

2. XF86 won't turn off LCD backlight

Hello,
I am running MDK 2.4.21-0.18mm with a Radeon 9500 with an LCD
connected to the digital port and a CRT connected to the analog port.
APM shuts down the CRT just fine and blanks the LCD, but the backlight
on the LCD stays on. I have 'Option "DPMS"' enabled for both
monitors, but can't get the backlight to turn off.

Am I missing anything?

If it is not possible to turn off the backlight on the LCD, should I
manually turn off the LCD when not in use? Or is it better to leave
it on?

Thanks,
Ross.

3. How to Turn off the LCD backlight?

4. Dell Inspiron 8100 - how to turn off LCD backlight (in console mode)?

5. Turning device on/off at predefined time ?

6. Palm: App for turning off after predefined time

7. Turn Off Screen Saver

8. Cant turn off screen saver

9. Screen Saver prevents monitor from turning off

10. screen saver (winexit.scr) and power scheme..turn off monitor

11. Turn off Screen Saver by Macro

12. disable / turn off win2000 screen saver

13. Turning off screen saver

14. Screen saver turned off by Power Point

15. Turn Windows screen saver On/OFF from within an App.