Перезагрузка ОС, завершение работы, спящий режим, спящий режим, пробуждение (Windows Python) - PullRequest
6 голосов
/ 20 апреля 2010

Я ищу способ автоматизации функций управления питанием Windows: - Перезагружать - Неисправность - Спящий - Спать - Пробуждение

Есть ли модуль Python для покрытия этой функциональности? Конечно, любые другие решения также приветствуются ...

Ответы [ 3 ]

3 голосов
/ 13 февраля 2011

Я тоже пошел с командной строкой:

import os
os.system(r'%windir%\system32\rundll32.exe powrprof.dll,SetSuspendState Hibernate')
2 голосов
/ 25 июня 2013

К сожалению, моя репутация не позволяет мне комментировать ответ (пока). Но я пришел сюда в поисках альтернативы , потому что Я пытался избежать использования командной строки, поэтому я просто должен сказать следующее: я не думаю, что вызов SetSuspendState напрямую является ответом.

Взгляните сюда по причине: http://blogs.msdn.com/b/oldnewthing/archive/2004/01/15/58973.aspx (короткая версия: могут случиться плохие вещи. Длинная версия: неожиданная сигнатура функции повреждает стек).

Если вам нужна другая причина, похоже, она просто ... не работает в Win7 (независимо от того, что вы передаете в качестве параметров, она всегда переходит в режим гибернации - никогда в режим ожидания). По крайней мере, это то, что случилось со мной, и из того, что я читаю онлайн, я не единственный.

2 голосов
/ 22 мая 2011

См. win32api.ExitWindowsEx() Документация ActiveState.

для флагов: http://msdn.microsoft.com/en-us/library/aa376868%28v=vs.85%29.aspx

для гибернации / сна:
http://msdn.microsoft.com/en-us/library/aa373201%28v=vs.85%29.aspx
чтобы использовать это, вам нужно использовать ctypes, поскольку pywin32 не реализует его.

побудка? Я сомневаюсь, что вы можете выполнить код во время сна. :)

...