Скрипт на BAS засыпает при выключении экрана

Поддержка
  • @FastSpace активировал максимальную производительность
    ввёл в cmd:

    nircmd.exe monitor off
    

    Экран выключился

    Я подождал с выключенным экраном 10 минут, двинул мышку - экран включился, но вижу что в тот же момент по логу БАСа он продолжил работать.

    То есть пока экран ноута выключен BAS тоже спал(
    18548d79-0e79-4d54-b888-0d635266e89e-image.png
    932b06f8-0d19-40a8-aaee-c8c476190c12-image.png

    cf15a719-0022-47ba-827e-06903f822e4c-image.png

  • @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, чтобы отключить дисплей, и это также привело к переходу ПК в спящий режим:" ???

    выглядит как "Я не хочу разбираться и вникать, сделайте что-нибудь за меня."

  • @spam спасибо, нас сколько я понял - микрософт на вин10 запрещает отключения экрана без перехода в спящий режим.

    Всё ясно, значит проблему не возможно на ноуте решить.

    С обычными стационарными ПК это легко, просто кнопку на монике нажал всё

  • @Nikolas Я на своем ноуте просто закрываю крышку. Выбираю "при закрытии крышки" - "действий не требуется". Win11

  • @Nikolas said in Скрипт на BAS засыпает при выключении экрана:

    @spam спасибо, нас сколько я понял - микрософт на вин10 запрещает отключения экрана без перехода в спящий режим.

    Всё ясно, значит проблему не возможно на ноуте решить.

    С обычными стационарными ПК это легко, просто кнопку на монике нажал всё

    Уменьши яркость на минимум и открой на весь экран чёрное изображение

  • @nirvanius да, я об этом подумал и сразу же проверил, но там тоже экран гаснет и ноут уходит в сон, хотя везде стоит в режиме "ничего не предпринимать " при закрытие крышки))

  • @Fox так наверно и буду делать Даже кнопки F8 и F9 уже забиндил (яркость 0% и яркость 100%) юзая "Autohotkey" софтину , спасибо

  • @Nikolas Ну я часто так делаю, экран гаснет, но в сон не уходит. Но у меня и при открытой крышке когда монитор выключается - в сон не уходит. Может дело в винде (у меня 11) либо особенности ноута...

  • Может кому-то будет полезно вот код который делает бинд , юзая софты 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
    

  • Backup bas

    Поддержка
    0 Votes
    2 Posts
    486 Views
  • Xevil + BAS Recaptcha2

    Поддержка
    0 Votes
    6 Posts
    2032 Views
  • 0 Votes
    7 Posts
    1868 Views
  • imap на яндекс

    Поддержка
    0 Votes
    6 Posts
    1355 Views
  • 0 Votes
    2 Posts
    910 Views