i same you :(
Скрипт на BAS засыпает при выключении экрана
-
@FastSpace активировал максимальную производительность
ввёл в cmd:nircmd.exe monitor offЭкран выключился
Я подождал с выключенным экраном 10 минут, двинул мышку - экран включился, но вижу что в тот же момент по логу БАСа он продолжил работать.
То есть пока экран ноута выключен BAS тоже спал(



-
@Nikolas
Вторая ссылка в гугле. - https://superuser.com/questions/1618452/using-nircmd-to-turn-off-monitor-instead-puts-pc-to-sleepЯ правда не понимаю - в чем сложность написать в поиске "nircmd.exe monitor off" и пройтись хотя бы по первой пятерке выдачи?
Проблема исключительно софтины и то, что она винду все-таки загоняет в режим сна.
BAS тут не при чем. -
@spam спасибо. вобщем попробовал такой пауэршеел код (то есть без использования утилиты nircmd.exe)
Но результат такой же. Экран то гаснет, но и бас засыпает((Код пауэшелл:
(Add-Type '[DllImport("user32.dll")] public static extern int SendMessage(int hWnd, int hMsg, int wParam, int lParam);' -Name a -Pas)::SendMessage(-1, 0x112, 0xF170, 2) -
@Nikolas facepalm.
А какого результата ты ждал, если прямо над этой командой написано "Обновление: я также попробовал этот вызов WinAPI через PowerShell, чтобы отключить дисплей, и это также привело к переходу ПК в спящий режим:" ???выглядит как "Я не хочу разбираться и вникать, сделайте что-нибудь за меня."
-
-
@Nikolas said in Скрипт на BAS засыпает при выключении экрана:
@spam спасибо, нас сколько я понял - микрософт на вин10 запрещает отключения экрана без перехода в спящий режим.
Всё ясно, значит проблему не возможно на ноуте решить.
С обычными стационарными ПК это легко, просто кнопку на монике нажал всё
Уменьши яркость на минимум и открой на весь экран чёрное изображение
-
Может кому-то будет полезно вот код который делает бинд , юзая софты AutoHotkey и nircmd.exe на кнопках: F7 \F8\F9
при нажатии на которых будет:
Заставлять комп заснуть (режим "Сон"), либо снизить яркость до 0% , либо вернёт яркость до 100% , при этом (на кнопках F8\F9) открывается\закрывается на весь экран заранее сохранённый файл png черной картинки:; Путь к лог-файлу (используем стандартную папку Documents) logFile := A_MyDocuments "\AutoHotkeyLog.txt" ; Полный путь к nircmd.exe в папке Downloads nirCmdPath := "C:\Users\Admin\Downloads\nircmd-x64\nircmd.exe" ; Полный путь к картинке, которую нужно открыть imagePath := "C:\Users\Admin\Downloads\black_screen.png" ; Код для F7: запуска режима сна на компьютере при этом процессы тоже засыпают F7:: Sleep 100 SendMessage, 0x112, 0xF170, 2,, Program Manager FileAppend, %A_Now%: F7 - Экран выключен`n, %logFile% return ; Код для F8: снижение яркости экрана до нуля и открытие картинки F8:: if FileExist(nirCmdPath) ; Проверяем, существует ли nircmd.exe { ; Устанавливаем яркость на 0 Run, %nirCmdPath% setbrightness 0 FileAppend, %A_Now%: F8 - Яркость снижена до нуля`n, %logFile% } else { FileAppend, %A_Now%: F8 - nircmd.exe не найден!`n, %logFile% MsgBox, 16, Ошибка, NirCmd не найден в папке Downloads. return } if FileExist(imagePath) ; Проверяем, существует ли картинка { ; Открываем картинку с помощью стандартного просмотрщика Windows Run, %imagePath% Sleep 500 ; Ждем полсекунды, чтобы приложение загрузилось Send, {F11} ; Включаем полноэкранный режим FileAppend, %A_Now%: F8 - Картинка открыта в полноэкранном режиме`n, %logFile% } else { FileAppend, %A_Now%: F8 - Картинка не найдена!`n, %logFile% MsgBox, 16, Ошибка, Картинка не найдена по пути: %imagePath%. } return ; Код для F9: повышение яркости экрана до максимума и закрытие картинки F9:: if FileExist(nirCmdPath) ; Проверяем, существует ли nircmd.exe { Run, %nirCmdPath% setbrightness 100 FileAppend, %A_Now%: F9 - Яркость увеличена до максимума`n, %logFile% } else { FileAppend, %A_Now%: F9 - nircmd.exe не найден!`n, %logFile% MsgBox, 16, Ошибка, NirCmd не найден в папке Downloads. } ; Закрываем картинку (закрывает активное окно) Sleep 500 ; Ждем, чтобы яркость обновилась Send, !{F4} ; Отправляем Alt+F4 для закрытия активного окна FileAppend, %A_Now%: F9 - Картинка закрыта`n, %logFile% return