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

6 投票
4 回答
5855 浏览
提问于 2025-04-15 21:49

我想找一种自动化的方法来执行Windows的电源管理功能,比如:

  • 重启
  • 关机
  • 休眠
  • 睡眠
  • 唤醒

有没有Python模块可以实现这些功能?当然,其他的解决方案也很欢迎...

4 个回答

2

很遗憾,我的声望还不够,不能在答案下评论。不过我来这里是想找个替代方案,因为我想避免使用命令行,所以我必须说:我觉得直接调用 SetSuspendState 这个方法并不是解决办法。

你可以看看这个链接,了解一下原因: http://blogs.msdn.com/b/oldnewthing/archive/2004/01/15/58973.aspx (简单来说:可能会发生一些不好的事情。详细来说:意外的函数签名会破坏堆栈)。

如果你需要另一个理由,似乎在 Windows 7 上这个方法根本就不管用(无论你传什么参数,它总是进入休眠状态,而不是待机)。至少我遇到的是这样,网上也有很多人说他们有同样的问题。

2

查看 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似乎没有实现这个功能。

想要唤醒?我怀疑你在休眠时是无法执行代码的。:)

3

我也是通过命令行来操作的:

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

撰写回答