Скрипт для пробуждения компьютера не может быть запущен из скрипта Python
Извините, если этот вопрос уже задан, но я пытаюсь провести день без успеха, поэтому, пожалуйста, постарайтесь помочь.
Мне нужно перевести компьютер в режим сна и автоматически разбудить его через минуту.
Я написал скрипт для этого:
wakeUp.py:
handle = CreateWaitableTimer(None, True, 'Wake up')
# Convert to seconds.
dt = -10000000 * 60
#set a timer to wakeup
SetWaitableTimer(handle, dt, 0, None, None, True)
print "waiting..."
rc = WaitForSingleObject(handle, 1000 * 60)
if(rc == win32event.WAIT_FAILED):
print "wait failed"
elif(rc == win32event.WAIT_TIMEOUT):
print "wait timeout"
elif(rc == win32event.WAIT_OBJECT_0):
print ("Woke Up!")
Сценарий работает, когда я запускаю его один, а затем приказываю компьютеру идти спать. Когда я пытаюсь запустить его изнутри моей программы на python, компьютер засыпает, но не просыпается. пытаясь проверить диспетчер задач, я вижу, что программа запускается как подпроцесс для Windows PowerShell (оттуда я запускаю мою программу Python)
Вот соответствующая часть моего кода Python:
def startSleepProcess():
print "Going to sleep.."
#set computer to sleep
subprocess.call(["powershell.exe","Rundll32.exe Powrprof.dll, SetSuspendState Sleep"], shell=True)
def wakeUp():
subprocess.Popen("python wakeUp.py", shell=True, stdin=None, stdout=None, stderr=None, close_fds=True)
if _name__ == "__main__":
wakeUp()
startSleepProcess()
Почему это происходит? Как я могу это исправить?
Спасибо!