При хостинг поддержке Интернет-сообщества VBIOS CS-Mapping.com.ua
Вернуться   CS-Mapping.com.ua > Forum > Общалка > Hard & Soft
Ник
Пароль
Правила форума FAQ Пользователи Администрация Календарь Поиск За 24 часа Пометить все разделы прочитанными

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.01.2018, 13:51  #1
Psycho-A
Psycho-A
 
Регистрация: 29.08.2009
Возраст: 37
Сообщения: 3,967


По умолчанию Блокировка выключения монитора при работе ПО

Всем привет.

Есть комп, у которого настроены автоотключение монитора и автопереход в ждущий режим при бездействии на 3 и 5 минут соответственно (зачем - не обсуждается). Так вот, хотелось бы, чтобы при работе на переднем плане некоторых программ, в систему посылались сигналы об активности, и эти таймеры не срабатывали. В самих программах такого функционала нет - например, тот же браузер считается бездействующим, если просто открыта страница или поставлено на паузу видео.
Psycho-A вне форума Ответить с цитированием
Старый 07.01.2018, 14:06  #2
IvanZ9
IvanZ9
Старшина
Регистрация: 27.04.2009
Адрес: Недалеко от Владивостока
Возраст: 33
Сообщения: 434


По умолчанию

В аимпе есть функция блокировки отключения монитора.
IvanZ9 вне форума Ответить с цитированием
Старый 07.01.2018, 15:14  #3
qpAHToMAS
qpAHToMAS
Генерал
Регистрация: 22.10.2006
Адрес: Russian Far East
Возраст: 33
Сообщения: 9,291


По умолчанию

На коленке, но вроде работает.
См. "titles.txt". Строка — заголовок (точнее часть заголовка).
Если эта часть будет найдена в заголовке активного окна (которое в фокусе), то Windows тухнуть не будет.
Выключается убитием процесса (не имеет никаких окон и даже иконки в трее).
[ Вложения ]
Тип файла: zip Keep Awake.zip (10.2 Кбайт, 41 просмотров)

Последний раз редактировалось qpAHToMAS, 19.02.2018 в 12:18.
qpAHToMAS вне форума Ответить с цитированием
Старый 07.01.2018, 15:24  #4
Psycho-A
Psycho-A
 
Регистрация: 29.08.2009
Возраст: 37
Сообщения: 3,967


По умолчанию

2 qpAHToMAS:
Спасибо! Вопросы:
1) будет ли работать под XP?
2) заданный паттерн проверяется в любой части заголовка окна, или есть ограничения (в начале, в конце и т.п.)?
3) будет ли работать, если программой создаются дочерние окна (например видео-фрейм)?
Psycho-A вне форума Ответить с цитированием
Старый 07.01.2018, 15:52  #5
qpAHToMAS
qpAHToMAS
Генерал
Регистрация: 22.10.2006
Адрес: Russian Far East
Возраст: 33
Сообщения: 9,291


По умолчанию

[ Цитата ] Сообщение от Psycho-A: 2 qpAHToMAS:
Спасибо! Вопросы:
1) будет ли работать под XP?
2) заданный паттерн проверяется в любой части заголовка окна, или есть ограничения (в начале, в конце и т.п.)?
3) будет ли работать, если программой создаются дочерние окна (например видео-фрейм)?
  1. Должно, но проверял на Windows 7.
  2. В любой, просто берется заголовок окна и в нём ищется строка (без учета РеГисТра).
  3. Тип окон не учитывается. И да, это может вызвать казус, ибо некоторые окна у программы могут быть без её имени .
    Оффтоп

qpAHToMAS, подумав, добавил 07.01.2018 в 16:11
Могу третий пункт исправить. Добавить проверку, есть ли у окна родитель, и если он есть, то чекать И заголовок окна-родителя.

Последний раз редактировалось qpAHToMAS, 09.02.2018 в 04:02.
qpAHToMAS вне форума Ответить с цитированием
Старый 14.01.2018, 07:33  #6
Psycho-A
Psycho-A
 
Регистрация: 29.08.2009
Возраст: 37
Сообщения: 3,967


По умолчанию

2 qpAHToMAS:
Последний пункт очень бы пригодился. Ну либо вообще сделать реакцию на любые видимые (не свёрнутые) окна, если в них попадается искомое имя. Последнее должно быть и проще в реализации, и в целом ближе к моей идее (ибо мало ли, что можно открыть поверх того же браузера, например). Можно, конечно, воспользоваться тулзой nircmd, но её придётся постоянно пинать костылями...
Psycho-A вне форума Ответить с цитированием
Старый 14.01.2018, 12:51  #7
qpAHToMAS
qpAHToMAS
Генерал
Регистрация: 22.10.2006
Адрес: Russian Far East
Возраст: 33
Сообщения: 9,291


По умолчанию

[ Цитата ] Ну либо вообще сделать реакцию на любые видимые (не свёрнутые) окна
C этим есть некая проблема. Состояние свернуто/не свернуто ли окно детектится весьма костыльно.
qpAHToMAS вне форума Ответить с цитированием
Старый 14.01.2018, 13:49  #8
DrTressi
DrTressi
Хрустик
Регистрация: 06.03.2010
Адрес: На белом свете
Возраст: 31
Сообщения: 6,383
Замечания: 16


По умолчанию

2 Psycho-A: возьми AutoIT и напиши, чтобы мышка двигалась на 1 пикс вправо и влево. Раз в минуту. Вот и всё, синтаксис там проще, чем в паскале.
DrTressi вне форума Ответить с цитированием
Старый 22.01.2018, 21:18  #9
Psycho-A
Psycho-A
 
Регистрация: 29.08.2009
Возраст: 37
Сообщения: 3,967


По умолчанию

2 qpAHToMAS:
Ну хорошо, пусть тогда будет первый предложенный вариант (с проверкой родительского окна)).

2 DrTressi:
Не вариант, т.к. часто смотрится полноэкранное видео. Говорю же, мне тогда проще взять NirCmd с батником. Просто хотелось, чтобы было поменьше костылей.
Psycho-A вне форума Ответить с цитированием
Старый 08.02.2018, 00:23  #10
Psycho-A
Psycho-A
 
Регистрация: 29.08.2009
Возраст: 37
Сообщения: 3,967


По умолчанию

[ Цитата ] Сообщение от qpAHToMAS: Могу третий пункт исправить. Добавить проверку, есть ли у окна родитель, и если он есть, то чекать И заголовок окна-родителя.
Привет. Ну как, получилось исправить? Или в том аттаче уже обновлённый вариант?
К тому компу просто пока не было доступа, а сейчас снова появился.
Psycho-A вне форума Ответить с цитированием
Старый 08.02.2018, 03:41  #11
qpAHToMAS
qpAHToMAS
Генерал
Регистрация: 22.10.2006
Адрес: Russian Far East
Возраст: 33
Сообщения: 9,291


По умолчанию

2 Psycho-A:
Сорри, я совсем забыл про этот тред.
Позже сделаю.
qpAHToMAS вне форума Ответить с цитированием
Старый 08.02.2018, 08:21  #12
ZGreen
ZGreen
Navarro
Регистрация: 15.06.2006
Адрес: Сибирь, Красноярск
Возраст: 37
Сообщения: 3,179
Замечания: 10


По умолчанию

Рекомендую автору изучить утилиту powercfg из поставки системы, обратить внимание на параметр /REQUESTSOVERRIDE. Скорее всего, после этого не понадобятся никакие костыли.
ZGreen вне форума Ответить с цитированием
Старый 08.02.2018, 12:45  #13
qpAHToMAS
qpAHToMAS
Генерал
Регистрация: 22.10.2006
Адрес: Russian Far East
Возраст: 33
Сообщения: 9,291


По умолчанию

2 Psycho-A:
Обновил архив. Теперь проверяется и заголовок родительского окна.

Old text

Последний раз редактировалось qpAHToMAS, 08.02.2018 в 13:26.
qpAHToMAS вне форума Ответить с цитированием
Старый 17.02.2018, 19:09  #14
Psycho-A
Psycho-A
 
Регистрация: 29.08.2009
Возраст: 37
Сообщения: 3,967


По умолчанию

2 qpAHToMAS:
Спасибо, ты очень выручил!

2 ZGreen:
Пробовал разбираться, но так и не понял, что именно туда прописывать, чтобы корректно работало. Какой-то реакции от моих действий не было. Впрочем, уже и неважно, костыль по типу того, что выше - не проблема.
Psycho-A вне форума Ответить с цитированием
Старый 18.02.2018, 11:32  #15
qpAHToMAS
qpAHToMAS
Генерал
Регистрация: 22.10.2006
Адрес: Russian Far East
Возраст: 33
Сообщения: 9,291


По умолчанию

Да не костыль это. Используется специально созданная для нашей задачи API функция. Код чистый, никакой нагрузки на систему.
Костыль — курсор мыши передвигать раз в минуту, или типа того.
qpAHToMAS вне форума Ответить с цитированием
Старый 19.02.2018, 09:12  #16
Psycho-A
Psycho-A
 
Регистрация: 29.08.2009
Возраст: 37
Сообщения: 3,967


По умолчанию

2 qpAHToMAS:
Программа 64-разрядная? Дело в том, что запустить её на той машине не получилось - ругается на несовместимость версии приложения с архитектурой ОС. Стоит Win 7 Home Premium со всеми нужными редистами и фреймворками, так что отсутствие чего-то нужного исключено.

Psycho-A, подумав, добавил 19.02.2018 в 09:15
UPD: Действительно 64-разрядная...

Последний раз редактировалось Psycho-A, 19.02.2018 в 09:15.
Psycho-A вне форума Ответить с цитированием
Старый 19.02.2018, 12:19  #17
qpAHToMAS
qpAHToMAS
Генерал
Регистрация: 22.10.2006
Адрес: Russian Far East
Возраст: 33
Сообщения: 9,291


По умолчанию

2 Psycho-A:
Перекомпилил под x86, попробуй.
qpAHToMAS вне форума Ответить с цитированием
Старый 19.02.2018, 13:57  #18
Psycho-A
Psycho-A
 
Регистрация: 29.08.2009
Возраст: 37
Сообщения: 3,967


По умолчанию

2 qpAHToMAS:
Работает, спасибо
x64-версию себе тоже на всякий случай оставил, т.к. если работать под 64-битной осью, то 32-битная версия не будет видеть 64-битные процессы.
Psycho-A вне форума Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 22:54.


Designed by FT-502, TRUP@C. Originally by Ulric Spaak
Hosted by: VBIOS.COM, Powered by: vBulletin
copyright © 2002 - 2025 by CS-Mapping.com.ua Community