Использование CMD для перевода компьютера в спящий режим через xx минут

Я пытаюсь построить программу, которая позволяет выключить или отправить компьютер в спящий режим через определенный набор времени.

У меня не было проблем с выключением компьютера, но я испытываю трудности при отправке его в спящий режим (после 60 минут, например)

У меня есть команда, чтобы отправить компьютер в спящий режим, но я испытываю трудности с установкой времени, в котором программа ждет, прежде чем это произойдет:

команду powercfg -h выкл и старт /мин "" C:WINDOWSSystem32rundll32.исполняемый
PowrProf.dll, SetSuspendState 0,1,0 & ping-n 3 127.0.0.1 > nul &
powercfg-h on & exit

пожалуйста, мне точку в правильном направлении.

21
задан Tim Parenti
31.01.2023 20:21 Количество просмотров материала 2573
Распечатать страницу

1 ответ

Ваш вопрос имеет мало общего с python, как команда, которую вы дали только в командной строке на Windows, в том числе импровизированный таймер. Просматривая код, который вы показали, это просто набор команд командной строки, связанных с & . . .

powercfg -h off & start /min "" C:\WINDOWS\System32\rundll32.exe PowrProf.dll,SetSuspendState 0,1,0 & ping -n 3 127.0.0.1 > nul & powercfg -h on & exit

разбивая это, команда делает:

  1. powercfg -h off : отключение гибернации
  2. start /min "" C:\WINDOWS\System32\rundll32.exe PowrProf.dll,SetSuspendState 0,1,0 - Я не уверен на 100%: переводит компьютер в спящий режим
  3. ping -n 3 127.0.0.1 > nul : это это общий Хак таймер для Windows, где он в основном вводит 3-секундную задержку; я собираюсь догадаться, что это для обработки некоторых проблем синхронизации, когда система просыпается от сна, так как эта команда не будет работать, пока вы re-Wake
  4. powercfg -h on: повторно включает спящий режим
  5. exit : выход из пакетного файла.

Итак, здесь нет задержки . . . чтобы добавить задержку в Python, вы можете использовать функция сна модуля времени. Пример кода будет что-то вроде:

import time
# Wait 10 seconds before running the next command
delay = 10
time.sleep(delay)
print "hi . . . it's been {0} seconds!".format(delay)
1
отвечен ernie 2023-02-02 04:09

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх