@NickBAS зажмите кнопку Ctrl, и выделите любой участок в окне с браузером, в меню будет поиск по изображению. Вот в этом действии в расширенных настройках есть base64 код картинки, его замените на свой
Скрипт на BAS засыпает при выключении экрана
-
Столкнулся с проблемой в BAS: Как только я выключаю экрана на домашнем компе где скрипт на басе работает (только монитор ноута гаснет, а сам ноут не переходит в спящий режим), работа скрипта останавливается, как будто он "засыпает" ((( засранец
И после того как экран гаснет, то через минуты 2-3минуты я слышу как кулер еле-еле "шуршит"
Например, я отключаю экран нажатием клавиши F7 на клаве или утилиты:
nircmd.exe monitor offВот что я уже пробовал для решения этой проблемы:

-
Настроил схему электропитания в системе через powercfg, чтобы процессор, видеокарта, сетевой адаптеры и USB-устройства продолжали работать при выключенном экране.
-
Отключил параметр "Выборочная приостановка USB" и запретил отключение сетевых адаптеров для экономии энергии.
-
Проверил, что компоненты системы не переходят в спящий режим при выключенном мониторе.
Однако, даже так при выключении экрана скрипты всё равно прекращают работу Как бы останавливаясь на том месте где экран был потушен. Это видно по окну лога скрипта.
Система продолжает функционировать, но скрипт просто останавливается.
Как только мышкой пошевелил, экран загорелся и сразу же скрипт продолжает работу (лог дальше "полетел") с того места где экран был потушен.Есть ли в BAS какие-то настройки, позволяющие скриптам продолжать выполнение, даже если монитор выключен? Или это связано с тем, что для работы 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