jonib wrote:The "Task Create/Switch Events" plugin generates several events on my WinXP when the screensaver is activated.
This didn't work for me because when the screensaver was activated the dekstop event would fire. This means if the screensaver came on, the TV would turn off, but also if I minimized MCE the TV would also turn off.
Pako wrote:- Code: Select all
period = 2.0 #Test every 2 seconds
SPI_GETSCREENSAVERRUNNING = 0x72
from ctypes import byref, c_bool
from ctypes.wintypes import WinDLL
saverRunning = c_bool()
def CheckScreensaverRunning():
WinDLL("user32").SystemParametersInfoA(SPI_GETSCREENSAVERRUNNING, 0, byref(saverRunning), False)
running = saverRunning.value
if running != eg.globals.ScreenSaverRunning:
eg.globals.ScreenSaverRunning = running
eg.TriggerEvent("ScreensaverRunning.%s" % str(running), prefix="System")
eg.scheduler.AddTask(period, CheckScreensaverRunning)
eg.globals.ScreenSaverRunning = None
CheckScreensaverRunning()
I will give this a try when I get home tonight. This looks like a solid solution. I see how it will fire an event when the screensaver is activated, but when the screensaver is deactivated will it fire another event?
Thanks for the quick replies guys!!