Остановить систему в режиме ожидания - PullRequest
4 голосов
/ 11 сентября 2008

Как я могу остановить вход компьютера в режим standby во время работы моего приложения?

Есть ли win32 api звонок для этого?

Ответы [ 2 ]

6 голосов
/ 11 сентября 2008

В зависимости от версии Windows существует два API.

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

Может быть много веских причин, чтобы компьютер не спал. Например, просмотр видео, воспроизведение музыки, компиляция длительной сборки, загрузка больших файлов и т. Д.

3 голосов
/ 11 сентября 2008

Эта статья http://www.codeguru.com/cpp/w-p/system/messagehandling/article.php/c6907 предоставляет демонстрацию того, как сделать это из C ++ (думал, что статья оформлена так, как будто вы хотите сделать это из Java, и предоставляет оболочку Java).

Фактический код в zip-файле на http://www.codeguru.com/dbfiles/get_file/standbydetectdemo_src.zip?id=6907&lbl=STANDBYDETECTDEMO_SRC_ZIP&ds=20040406 и его часть на C ++ находятся в com / ha / common / windows / standbydetector.

Надеюсь, это даст вам достаточно указаний, чтобы начать.

...