【发布时间】:2011-02-10 01:11:54
【问题描述】:
我正在寻找一种自动执行 Windows 电源管理功能的方法: - 重启 - 关掉 - 休眠 - 睡觉 - 唤醒
是否有 Python 模块来涵盖此功能? 当然,任何其他解决方案也值得赞赏...
【问题讨论】:
标签: python windows power-management
我正在寻找一种自动执行 Windows 电源管理功能的方法: - 重启 - 关掉 - 休眠 - 睡觉 - 唤醒
是否有 Python 模块来涵盖此功能? 当然,任何其他解决方案也值得赞赏...
【问题讨论】:
标签: python windows power-management
我也使用命令行:
import os
os.system(r'%windir%\system32\rundll32.exe powrprof.dll,SetSuspendState Hibernate')
【讨论】:
请参阅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 没有实现它。
醒来?我怀疑你可以在睡觉时执行代码。 :)
【讨论】:
不幸的是,我的声誉不允许我对答案发表评论(目前)。但是我来这里是为了寻找替代方案因为我试图避免使用命令行,所以我只需要这样说:我不认为直接调用 SetSuspendState 是答案。
看这里是有原因的: http://blogs.msdn.com/b/oldnewthing/archive/2004/01/15/58973.aspx (短版:可能会发生坏事。长版:意外的函数签名会破坏堆栈)。
如果您需要其他原因,它似乎只是......在 Win7 中不起作用(无论您作为参数传递什么,它总是进入休眠状态 - 从不进入待机状态)。至少那是发生在我身上的事情,而且根据我在网上阅读的内容,我并不是唯一一个。
【讨论】:
您可以为此使用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
【讨论】: