Скрипт для пробуждения компьютера не может быть запущен из скрипта 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()

Почему это происходит? Как я могу это исправить?

Спасибо!

0 ответов

Другие вопросы по тегам