停止系统进入“待机”状态

时间:2008-09-11 08:40:03

标签: c++ winapi standards standby

如何在我的应用程序运行时停止主机进入standby模式?

是否有任何win32 api来电来执行此操作?

2 个答案:

答案 0 :(得分:6)

有两种API,具体取决于Windows的版本。

XP,2000年,2003年:

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

回复PBT_APMQUERYSUSPEND。

Vista,2008:

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

可能有许多正当理由阻止计算机进入睡眠状态。例如,观看视频,播放音乐,编辑长时间运行的版本,下载大文件等。

答案 1 :(得分:3)

本文http://www.codeguru.com/cpp/w-p/system/messagehandling/article.php/c6907提供了如何使用C ++实现这一目标的演示(认为他的文章框架就像你想用Java做的那样,并提供了一个Java包装器。)

http://www.codeguru.com/dbfiles/get_file/standbydetectdemo_src.zip?id=6907&lbl=STANDBYDETECTDEMO_SRC_ZIP&ds=20040406的zip文件中的实际代码及其C ++部分位于com / ha / common / windows / standbydetector下。

希望它会给你足够的方向来开始。