操作系统重启,关机,休眠,睡眠,唤醒(Windows Python)

时间:2010-04-20 08:41:29

标签: python windows power-management

我正在寻找一种自动执行Windows电源管理功能的方法: - 重启 - 关掉 - 休眠 - 睡觉 - 醒来

是否有Python模块来涵盖此功能? 当然,任何其他解决方案也受到赞赏......

4 个答案:

答案 0 :(得分:3)

我也使用命令行:

import os
os.system(r'%windir%\system32\rundll32.exe powrprof.dll,SetSuspendState Hibernate')

答案 1 :(得分:2)

请参阅win32api.ExitWindowsEx() ActiveState文档。

标志

http://msdn.microsoft.com/en-us/library/aa376868%28v=vs.85%29.aspx

对于hybernate / sleep:
http://msdn.microsoft.com/en-us/library/aa373201%28v=vs.85%29.aspx
要使用此版本,您需要使用ctypes,因为pywin32看起来没有实现它。

唤醒?我怀疑你在睡觉时可以执行代码。 :)

答案 2 :(得分:2)

不幸的是,我的声誉不允许我对答案发表评论。但是我来到这里寻找替代因为我试图避免使用命令行,所以我只想说:我不认为直接调用SetSuspendState就是答案。

看看这里是有原因的: http://blogs.msdn.com/b/oldnewthing/archive/2004/01/15/58973.aspx (简短版本:可能会发生不好的事情。长版本:意外的功能签名会破坏堆栈)。

如果你需要另一个原因,它似乎只是......在Win7中不起作用(无论你作为参数传递什么,它总是进入休眠状态 - 从不进入待机状态)。至少那是发生在我身上的事情,从我在网上看到的我不是唯一一个。

答案 3 :(得分:0)

您可以为此使用 shutdown 命令。

示例:

import os
os.system("shutdown -s -t 0")

这将关闭计算机 (-s) 并延迟 0 秒 (-t 0) 以实现即时关闭。如需完整使用,请访问此处:https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/shutdown