2008-12-22 67 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之前,如果你願意,你可以是邪惡的並且否決掉電。

相關問題