views:

264

answers:

4

Is there a way to do it in c# or vb.net? I have to bring a system out of standby and play a notification sound if it is in standby mode, at specific time intervals. Is this possible?

+1  A: 

Even if this existed, it would only work on computers designed with the necessary hardware to do that. Nothing is executing in standby, so you definitely cannot do this only in software. Macs have had this feature for a long time, but they have the advantage that their OS and hardware is designed by the same company.

Pascal Cuoq
+6  A: 

You may take a look at this page. IMHO this task will involve some heavy interop calls.

Darin Dimitrov
If it's possible at all from managed code. Some things just aren't.
Matthew Scharley
+1  A: 

Given the system is in standby you are somewhat limited and almost certainly going to be reliant on an external trigger and/or the capabilities of the system bios for the device.

The primary method that springs to mind is Wake-On-LAN, if the system has this capability then you could have a central 'server' firing off 'wake-up' packets to the device(s) at the desired interval and then the system would spring into life, what I'm not sure of is the ability to determine if the system was in standby with a simple call. One solution might be to have your service running on the target system and to grab the current time at a designated time interval, your app would then sleep for the time interval and when it next comes to retrieve the time, do a quick compare with the stored time to see if the elapsed interval matches the sleep time, if not then you have probably spent some time in standby.

Lazarus
+5  A: 

You can wake a computer from sleep with a scheduled task:

alt text

So the simplest option maybe to create a scheduled task to run at the appropriate time.

Dave Webb