2008-12-22 68 views
1

我想检查系统是否处于待机模式,是否有任何Win32 API?我不确定它是否与睡眠模式相同。如何检查系统是否处于待机模式?

有一些代码在我的应用程序中执行,导致它在待机状态(它在待机模式下执行)时挂起,因此我想避免在计算机处于睡眠状态时运行该代码通过。

在此先感谢!

丹尼斯

编辑:也许是不可能的,因为程序不应该运行如下的回答指出,这样我就指望,作为一个答案:)

回答

4

当系统处于待机模式,那么没有程序将运行,所以以下将是好的:

int is_in_standby() { 
    return 0; 
} 

或者我错过了什么?

+0

我的程序似乎正在运行,或至少它是由用户报告它弹出一个消息框(因为它应该,因为有什么需要注意),但在此之后,它完全挂起。我想知道系统是否处于待机状态,并且没有出现该消息框。 – dennisV 2008-12-22 19:55:44

+0

saua是对的;如果系统处于待机模式,那么您的应用程序甚至不会弹出一个窗口。你的应用程序可能是由于其他原因。 – Brian 2008-12-22 19:58:17

1

据我所知在Windows的待机模式下没有代码在运行。除了RAM,一切都关闭了。计算机再次唤醒后,代码中的错误可能是由窗口消息引起的。

0

如果您的程序正在运行,您未处于待机状态。

我认为你想要做的是处理WM_POWERBROADCAST消息。这些会告诉你系统何时改变电源状态,并且在Vista之前,如果你愿意,你可以是邪恶的并且否决掉电。

相关问题