Question

How can i stop the host machine entering standby mode while my application is running?

Is there any win32 api call to do this?

Was it helpful?

Solution

There are two APIs, depending on what version of Windows.

XP,2000, 2003:

http://msdn.microsoft.com/en-us/library/aa373247(VS.85).aspx

Respond to PBT_APMQUERYSUSPEND.

Vista, 2008:

http://msdn.microsoft.com/en-us/library/aa373208(VS.85).aspx

There could be many valid reasons to prevent the computer from going to sleep. For example, watching a video, playing music, compiling a long running build, downloading large files, etc.

OTHER TIPS

This article http://www.codeguru.com/cpp/w-p/system/messagehandling/article.php/c6907 provides a demo of how to do this from C++ (thought he article is framed as if you want to do it from Java, and provides a Java wrapper).

The actual code in in a zip file at http://www.codeguru.com/dbfiles/get_file/standbydetectdemo_src.zip?id=6907&lbl=STANDBYDETECTDEMO_SRC_ZIP&ds=20040406 and the C++ part of it is under com/ha/common/windows/standbydetector.

Hopefully it will give you enough of a direction to get started.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top