Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Yegor от Апрель 13, 2013, 18:58



Название: Как узнать что пользователя долго нет на месте
Отправлено: Yegor от Апрель 13, 2013, 18:58
Здравствуйте!

Как в программе узнать, что пользователя нет долго на месте? По примеру как вызывается хранитель экрана операционной системы, если пользователь долго не работает с операционной системой?


Название: Re: Как узнать что пользователя долго нет на месте
Отправлено: CJ1 от Апрель 13, 2013, 19:36
По таймеру отсчитывай, и жди пока кнопку не нажмет или мышкой не пошевелит


Название: Re: Как узнать что пользователя долго нет на месте
Отправлено: Yegor от Апрель 13, 2013, 21:14
А как в таком случае программа узнает о нажатии клавиши, изменения мышки? То есть как это перехватить глобально, вне пределах QDialog?


Название: Re: Как узнать что пользователя долго нет на месте
Отправлено: Bepec от Апрель 14, 2013, 02:02
Платформозависимый код и нет проблем :D

PS или QCursor в цикле :D


Название: Re: Как узнать что пользователя долго нет на месте
Отправлено: Patrin Andrey от Апрель 14, 2013, 09:43
Если пользователь не трогает клаву/мышь это ещё не значит что его нет на месте. К примеру смотрит фильм. И, к примеру , пользователь запустил каку-ю либо длительную задачу и отошёл. Вашей программе нужно определить что пользователя сейчас нет? Другими словами вам надо определить что компьютер не делает ничего полезного в течении какого-то времени, или что пользователь не отдавал команды какое-то время?


Название: Re: Как узнать что пользователя долго нет на месте
Отправлено: Bepec от Апрель 14, 2013, 10:00
Самый вообще простой способ - снимать скринчег экрана и сравнивать с черездвухсекундным, допустим :D

Но и это не спасёт от гнева медленночитающих любителей огромных книг :D


Название: Re: Как узнать что пользователя долго нет на месте
Отправлено: Serr500 от Апрель 14, 2013, 13:35
... и будет неправильно работать, если у пользователя, например, браузер с анимацией открыт...


Название: Re: Как узнать что пользователя долго нет на месте
Отправлено: IMPOMEZIA от Апрель 14, 2013, 16:20
Платформо-зависимый код, примеров полно в любом IM или чате, например http://schat.googlecode.com/svn/trunk/src/common/plugins/Idle/