2utm,
Спасибо, за вашу помощь, только что нашел подсказку на stackoverflow, с похожим случаем человек год назад мучался, он использовал библотеку win32. Но там так и не решилось проблема , с тем что монитор включается на пару секунд и опять отрубается и кроме как эмуляции движения мышкой решения нет.
Заменил powershel на winapi . Монитор отключается но Проблема возникла при пробуждении, если отрабатывает функция включения, то монитор включается на 2-3 секунды и опять уходит в сон. Разбудить получается только движением мышки или кнопкой клавиатуры.Все это работает когда ты просто в проводнике Windows. Но если открыта программа видеонаблюдения в полный экран, то пробуждением засчет эмуляции кнопок не получается.
2utm, параметр (-1) , я так понял это команда на включение монитора, если передать параметр (2) то он отключает. (1) если будет то это режим STANDBY.
на счет магических цифр, я не помню где то, я натыкался на расшифровку , наверное это в описании самой библиотеки user32.dll, это что то с питанием монитора.
на просторах интернета эта команда в таком виде используется, и она работает. Монитор отключается. А вот включить экран пока только получается эмуляцией кнопки или движения мыши. ( что конечно в моем случае не помогает, так как я использую программу видеонаблюдения которая в полноэкранном режиме не дает таким способом разбудить монитор. Не знаю почему. Поэтому я пробую через powershell. вторую неделю долблюсь с программой. Удалось запустить программу, и игнорировать ошибку при запуске, правда валятся ошибки какие то. Еще бы разобраться почему у меня программа при запуске всегда при вызове процедуры check_schedule2 попадает в логическую ветвь Else.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
интересно у меня такая же строка но почему то win32gui и тоже работает
def turn_monitor_on():
win32gui.SendMessage(win32con.HWND_BROADCAST,win32con.WM_SYSCOMMAND, win32con.SC_MONITORPOWER, -1)
# функция использующая powershell для выключения
def turn_monitor_off():
win32gui.SendMessage(win32con.HWND_BROADCAST,win32con.WM_SYSCOMMAND, win32con.SC_MONITORPOWER, 2)