1

Тема: AHK: Проверка бездействия системы

В Windows при бездействии можно выключить мониторы, отправить пк в сон или же отправить в гибернацию. Я же хочу сделать выключение компьютера, я обнаружил такие переменные "A_TimeIdle", "TimeIdlePhysical", но время идет даже при просмотре видео, но в windows же время не идет либо что-то как-то проверяется и системные действия не выполняются. В какую сторону можно смотреть для данной реализации?

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

Win10: LTSC (21H2); AHK: ANSI (v1.1.36.02)

2

Re: AHK: Проверка бездействия системы

Выглядит так, что вы чего-то недопонимаете.

Phoenixxx_Czar пишет:

Проверка бездействия системы

Система что-то делает всегда до завершения сеанса, у неё не бывает состояний «бездействия».

Phoenixxx_Czar пишет:

время идет даже при просмотре видео, но в windows же время не идет либо что-то как-то проверяется и системные действия не выполняются

Тут вообще непонятно, что вы имеете в виду. Что значит «в windows время не идет»?

Phoenixxx_Czar пишет:

В какую сторону можно смотреть для данной реализации?

Так и не ясно, что именно вы хотели реализовать.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3 (изменено: Phoenixxx_Czar, 2022-04-11 19:11:54)

Re: AHK: Проверка бездействия системы

С объяснением у меня к сожалению всегда были проблемы.
В виндовс есть выключение мониторов, когда система "бездействует" определенное кол-во времени, так же это настроить можно для сна и гибернации, чтобы в них входило, когда система "бездействует" определенное кол-во времени. Мне нужно именно выключение компьютера, это я и хочу сделать.

Win10: LTSC (21H2); AHK: ANSI (v1.1.36.02)

4

Re: AHK: Проверка бездействия системы

Так не бездействует она. Может, пользователь бездействует?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5

Re: AHK: Проверка бездействия системы

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

Win10: LTSC (21H2); AHK: ANSI (v1.1.36.02)

6

Re: AHK: Проверка бездействия системы

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

7

Re: AHK: Проверка бездействия системы

Phoenixxx_Czar

Как вариант - проверять загрузку процессора. Если низкая - вероятно комп простаивает. Всё зависит от окна, быть может в этот момент проверки как раз пауза была и скрипт посчитает что можно действовать. Ещё вариант скриншот делать, затем проверку на отличия (естественно не все пиксели, можно например сжать и хранить в эскизе).

Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

8

Re: AHK: Проверка бездействия системы

Процессор я думаю не очень подходит ибо что в простое, что при видео он будет нагружен не больше 4-5%.
Вариант с проверкой нагрузки на видеокарту.. При просмотре видео всегда будет нагрузка (ну лично на моей видеокарте), а в простое она 0-1%.

Win10: LTSC (21H2); AHK: ANSI (v1.1.36.02)

9

Re: AHK: Проверка бездействия системы

Подмените файл заставки скриптом.
Зайдите в Панель управления\Все элементы панели управления\Персонализация. Там выберите любую заставку и интервал времени, который считается за бездействие. Теперь идём в C:\Windows\System32, находим эту заставку подменяем её скомпилированным скриптом, не забыв сменить .exe на .scr.

10

Re: AHK: Проверка бездействия системы

Интересно стало поискать. Вот что нашел: GetSystemPowerState.
Дальше искать стало лень...

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

11

Re: AHK: Проверка бездействия системы

ypppu, я хочу оставить заставку, при 20 минутах должно выключить мониторы, при сорока - выключить компьютер.

Win10: LTSC (21H2); AHK: ANSI (v1.1.36.02)

12

Re: AHK: Проверка бездействия системы

Phoenixxx_Czar пишет:

В виндовс есть выключение мониторов

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

Phoenixxx_Czar пишет:

при просмотре допустим видео или прослушивания музыки, компьютер не делал тех действий

Можно определить, издаёт ли какой-то процесс звук в данный момент, насчёт видео не знаю, можно ли и как. Хотя, если воспроизводится видео, то звук там тоже в большинстве случаев есть.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

13

Re: AHK: Проверка бездействия системы

Phoenixxx_Czar, отключение монитора и выключение питания компьютера - делается через Панель управления --> Электропитание. Здесь скрипты и не нужны.
Как отловить бездействие пользователя -  я выше описал.

14 (изменено: Phoenixxx_Czar, 2022-04-12 00:21:51)

Re: AHK: Проверка бездействия системы

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

+ открыть спойлер

http://s01.geekpic.net/di-U82LLJ.png

Win10: LTSC (21H2); AHK: ANSI (v1.1.36.02)

15

Re: AHK: Проверка бездействия системы

Могу рассказать, как в семёрке.
Панель управления\Все элементы панели управления\Электропитание\Изменить параметры плана --> Выключать дисплей --> тут в выпадающем списке можно выбрать кучу вариантов от 1 минуты до 5 часов.

Как выключать  комп - что-то подзабыл. Или уходить в сон. Или через планировщик по событию простоя. Или всё-таки свой скрипт писать.

16

Re: AHK: Проверка бездействия системы

В сон или гибернацию я знаю как, но данные варианты не подходят. Выключение не находил, через планировщик задач не особо разобрался, вроде и стоит таймер на 30 минут, а выключится может и за 5 минут.

Win10: LTSC (21H2); AHK: ANSI (v1.1.36.02)