Форум: "Потрепаться";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];
ВнизПри помощи какой переменной или функции можно узнать ... Найти похожие ветки
← →
Prohodil Mimo © (2004-10-22 16:30) [0]...время которое пользователь ничего не делал, не жал мышь, не трогал клаву?
Гдето видел, но не помню где, что есть в системе переменная отвечающая за это и по которой ScreenSaver включается.
Мне нужно сделать что бы моя программа закрывалась по истечении определённого времени. Отдельный свой таймер запускать не охота.
← →
Anatoly Podgoretsky © (2004-10-22 16:35) [1]Эту переменную тебе придется заводить самому!
← →
Prohodil Mimo © (2004-10-22 16:38) [2]Anatoly Podgoretsky © (22.10.04 16:35) [1]
Значит нельзя узнать у винды сколько уже времени спит юзер?
← →
Алхимик © (2004-10-22 16:44) [3]
> [2] Prohodil Mimo © (22.10.04 16:38)
> Anatoly Podgoretsky © (22.10.04 16:35) [1]
> Значит нельзя узнать у винды сколько уже времени спит юзер?
Почему спит, может он ест? :)
← →
Prohodil Mimo © (2004-10-22 16:47) [4]...а может это дворник злой? (с) пластилиновая ворона.
← →
Digitman © (2004-10-22 16:47) [5]
> Prohodil Mimo
а мне кажется, что сист.механизм скринсеверов и без твоих специальных потуг запустит сринсевер в нужное время
> Мне нужно сделать что бы моя программа закрывалась по истечении
> определённого времени
оформи ее как скринсевер - и будет тебе счастье.
← →
Prohodil Mimo © (2004-10-22 16:53) [6]Digitman © (22.10.04 16:47) [5]
оформи ее как скринсевер - и будет тебе счастье.
мне нужно ЗАКРЫТИЕ программы, а не ЗАПУСК :о)
Как вариант - запуск скринсавера закрывающего мою прогу :о) (шутка)
← →
Юрий Зотов © (2004-10-22 16:55) [7]> Prohodil Mimo © (22.10.04 16:30)
При запуске программа ставит глобальные хуки на клаву и мышь. При каждом событии мыши/клавы этии хуки посылают сообщение окну программы. В программе работает таймер и при поступлении этого сообщения он сбрасывается в ноль. А по событию OnTimer программа снимает хуки и закрывается. Все.
Только что значит - "юзер спит"? А если он полчаса один экран вордового документа читает - это спит или не спит?
← →
Игорь Шевченко © (2004-10-22 17:00) [8]Юрий Зотов © (22.10.04 16:55) [7]
msidle.dll - там реализован механизм с хуками, в случае, если система не поддерживает функции GetLastInputInfo
← →
Кулюкин Олег (2004-10-22 17:04) [9]попробуйте обрабатывать TApplication.OnIdle.
← →
Digitman © (2004-10-22 17:06) [10]
> Prohodil Mimo © (22.10.04 16:53) [6]
разработай, инсталлируй. активируй при старте системы свой KMD
пусть он "подсчитывает" отн.время и число событий устр-в ввода/вывода для заданнлого процесса ... терминировать процесс тем или иным образом из KMD - не проблема.
← →
Prohodil Mimo © (2004-10-22 17:08) [11]Юрий Зотов © (22.10.04 16:55) [7]
Не хотелось прогу хуками нагружать.
> А если он полчаса один экран вордового документа
> читает - это спит или не спит?
ну и пусть читает, а моя прога должна закрыться. Перед закрытием выдам сообщение, что прога закроется через Х секунд. Жми "закрыть" или "отменить закрытие".
← →
Юрий Зотов © (2004-10-22 17:15) [12]> Prohodil Mimo © (22.10.04 17:08) [11]
> Не хотелось прогу хуками нагружать.
> ну и пусть читает, а моя прога должна закрыться.
В таком случае логичнее закрывать программу, если юзер N минут не работает именно с ней, а не вообще. А тогда можно обойтись и без хуков. Схема остается той же, но таймер сбрасывается в обработчике Application.OnMessage, если в него пришло сообщение мыши или клавы.
← →
Prohodil Mimo © (2004-10-22 17:24) [13]Юрий Зотов © (22.10.04 17:15) [12]
но таймер сбрасывается в обработчике Application.OnMessage
точно, так и сделаем. спасибо!
ЗЫ. что-то тормозю, мог бы и сам догадаться.
← →
wicked © (2004-10-22 17:53) [14]кстати, если нужна реакция программы на запуск скринсейвера, то можно обрабатывать WM_SYSCOMMAND с параметром SC_SCREENSAVE....
возвратим 0 - система подумает, что скринсейвер запущен,
возвратим 1 - она так не подумает.... :)
просто можно реагировать на сам факт пришествия такого сообщения и предпринимать необходимые действия.......
кстати, добавлю, что если возвращать 0 (скринсейвер запущен), то система с поределенным периодом будет все равно передавать это сообщение.... проверялось на win95....
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.042 c