Страница 1 из 1

отошел от компа

Добавлено: 30 мар 2006, 15:03
Blood_Magic
мне нужно узнать, сколько не работает пользователь за компом и от этого сделать разные состояния, как в icq. как это можно сделать?

Добавлено: 31 мар 2006, 10:27
Duncon
Я видел где-то реализацию сего поищи..

Добавлено: 31 мар 2006, 12:25
Blood_Magic
хороший ответ

Добавлено: 31 мар 2006, 13:53
Dr_Grizzly
Врубай таймер, допустим на 5 минут, во время включения запомни позицию мышки, если она изменилась, таймер начинает отсчитывать по новой :) Чаго тут сложного? Как взять позицию мышки?

//Вне процедуры!
Type Tpoint = record
x:integer;
y:integer;
end;

Потом объявляете саму переменную :
Var
Pos: TPoint;
begin;
GetCursorPos(pos);
x:=pos.x;
y:=pos.y;
end;

Добавлено: 31 мар 2006, 13:57
Dr_Grizzly
А вот еще фишка, создай таймер и с интервалом 1 сек или меньше, отлавливай нажатие клавиш, здесь используется код клавиши, например кнопка "A" имеет код 65.

if getasynckeystate(65)<>0 then showmessage('A - pressed');

Добавлено: 31 мар 2006, 16:35
Blood_Magic
а может глобальным хуком

Добавлено: 31 мар 2006, 21:29
Duncon
Не есть глобальная переменная которая следит за простоем компа можно ее считывать и не париться..

Добавлено: 01 апр 2006, 23:53
Blood_Magic
какая?

Добавлено: 02 апр 2006, 18:38
YurikGL
Не есть глобальная переменная которая следит за простоем компа можно ее считывать и не париться..
Кнопка на стуле у пользователя? :D
На самом деле пользователь может отойти, оставив запущенным процесс сканирования антивирусом или дефрагментации диска. Компутер что-то делает а пользователь отошел и "ICQ надо оключить".
С другой стороны, пользователь может сидеть и смотреть фильм. Он ничего не делает, компьютер не сильно загружен, но пользователь перед компьютером и "icq отключать не надо".
Так что идеального решения не существует. Если только датчик движения, завязанный на COM-порт.

Добавлено: 02 апр 2006, 23:17
Blood_Magic
мне достаточно что бы клаву и мышь не трогали