Hello Stewart,
I have tested the codes and they work fine for me in my side. I use the
following codes to test,
Dim nCounter As Integer
For nCounter = 1 To 20
SetMonitor(MonitorStatus.Monitor_On)
Thread.Sleep(70000)
Next nCounter
Please note we should let the thread sleep more than 60 seconds because the
Power Saver Option's minium time of turning off the display is 1 minute. If
the thread only sleeps for 10 seconds for each of the loop. The SetMonitor
function will send message broadcastly and the left time of display turning
off is refreshed. So we will never see the Power Saver turning off the
monitor.
Actually, I do the following things to test.
1. I set my Power Saver to turn off the monitor after 1 minutes if no
inputs are detected
2. I run the above codes.
After 1 minute, I see the Power Saver turnning off my Monitor, and then
after another 10(70-60) seconds, I can observe that my Monitor is turned on
by my application.
So when you say "SetMonitor(Wallpaper.MonitorStatus.Monitor_On) Does not
unblank the screen if the power saver has blanked it", would you mind
letting us know more specific steps and information, like how many minutes
you set in the system's Power Saver option and what is the exact codes you
are executing, as well as your test steps.
By the way, if I running your codes, it turns off the monitor for ten
seconds and then trun on the monitor for ten seconds as a cycle. Just works
like the codes indicate to be.
Best regards,
Ji Zhou
Microsoft Online Community Support
Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(E-Mail Removed).