ts7758258 发表于 2015-12-2 12:26:53

利用python实现Windows8定时自动关机和休眠

  我觉得Window8有一个重大的优点就是支持休眠的功能,休眠以后再次开机可以保持原来已经打开的窗口。但是我发现我的电脑休眠以后会自己开机,也不知道怎么回事,于是我想可以利用python来实现在固定时间内自动关机或者休眠的功能。主要的思路如下:
  获取当前时间->与设定的时间作比较->超出了设定时间->关机或休眠
  代码如下:



#coding=utf-8
import time, os ,threading
class TimeCmp:
def __init__(self, TimeStart, TimeEnd):
self.TimeStart=TimeStart
self.TimeEnd=TimeEnd
def GetNowTime(self):
pass
#now = time.strftime("%Y-%m-%d %H:%M:%S")
def Cmp(self):
LocalTime=time.localtime(time.time())
self.__TimeNow_1=LocalTime.tm_hour*3600+LocalTime.tm_min*60+LocalTime.tm_sec
self.__TimeStart_1=3600*self.TimeStart+60*self.TimeStart+self.TimeStart
self.__TimeEnd_1=3600*self.TimeEnd+60*self.TimeEnd+self.TimeEnd
#print 'self.__TimeNow_1',self.__TimeNow_1
#print 'self.__TimeStart_1',self.__TimeStart_1
#print 'self.__TimeEnd_1',self.__TimeEnd_1
if self.__TimeNow_1 > self.__TimeStart_1 and self.__TimeNow_1 < self.__TimeEnd_1:
return True
else:
return False
def run():
TimeStart=(8,0,0)
TimeEnd=(23,30,00)
SystemCmd='rundll32 powrprof.dll,SetSuspendState -t -s 60'
#SystemCmd='shutdown -r'
while True:
TimeCmpResult=TimeCmp(TimeStart, TimeEnd)
#print TimeCmpResult.Cmp()
shutdown=not TimeCmpResult.Cmp()
if shutdown:
print "Computer will be off"
time.sleep(float(60))
os.system(SystemCmd)
else:
print "Computer is on"
pass
time.sleep(float(600))
if __name__=="__main__":
run()
  也可以做成Windows服务实现自动启动,见http://www.cnblogs.com/lishuai0214/articles/4294486.html
页: [1]
查看完整版本: 利用python实现Windows8定时自动关机和休眠