Этап 1
написать набор простых готовых функций(процедур, отдельных модулей, неважно) взаимодействующих с winapi которые решали бы следующие задачи:
функция 1 при вызове возвращает названия активного окна, название активного приложения.
функция 2 при вызове делает скриншот активного окна возвращает картинку виде чего-нибудь типа Tbitmap'a или подобного.
функция 3 перехватывает событие смены активного окна возвращает новое название активного окна, название активного приложения.
функция 4 определяет событие нажатия клавиши передает в основную программу ее значение.
функция 5 определяет движения, клики мыши, передает в основную программу факт самого события что было движение, клик.
Этап 2
написать программу которая бы используя модуль из этапа 1 делала бы следующее:
режим №1 в реалтайме составляла список всех используемых пользователем приложений.(без указания времени использования, просто список только из названий) с возможностью сохранять такой список в виде файла.
режим №2
в этом режиме программа должна вести несколько счетчиков.
определение общей активности пользователя в процентах(0-нет ни какой активности, 100 -все время что то нажато или двигается мышь) за последние 10 минут.
общее количество "активного"* времени за 10 минут. количество "активного" времени по названиям приложений(условно интернет експлорер 2 минуты, ворд- 1 минута, пасьянс косынка 5 минут, остальное время в интервале не "активное", общее активное время соответственно 8 минут).
*"Активное" время это время активных действий пользователя за компьютером. Если нет активности пользователя(нажатия клавиш, движения мыши) в течении 30 секунд учет "активного" времени приостанавливается до появления такой активности снова.
Все нажатые клавиши за 10 минутный интервал(т.е. например интервал между 21:00 и 21:10, в текущий момент времени 21:05 будет содержать данные о только последних 5 минутах а не 10,) с разбивкой по приложениям и названиям окон. Т.е. приложение такое то, окно такое то, все нажатые клавиши в этом окне за 10 минутный интервал. Все это сохраняется в отдельный лог.
В течении 10 минутного интервала, в случайный момент времени делается скриншот активного окна. В лог добавляется выделенный тегами бинарный код картинки, также указывается время снятия скриншота, название приложения, название окна.
Если в текущем интервале нажатий и движений мыши не было он(интервал) не сохраняется, скриншот не делается.
Если были только движения мыши или только нажатия сохраняем только строку со ссылкой на скриншот.
В этот же лог сохраняем данные счетчиков по активности отдельными строками раз в 10 минутный период.
условный вид лога:
31/12/13 21:00 word документ1.doc "test test test"
31/12/13 20:57 word документ1.doc screenshot<ggtr4SAdghWD..N4f>
31/12/13 21:00 общее время активности в секундах- 90
31/12/13 21:00 время активности word в секундах- 90
31/12/13 21:10 word документ1.doc "Hello word"
31/12/13 21:10 opera яндекс "рецепт коктеля мо"
31/12/13 21:03 word документ1.doc screenshot<ggtr4SAdghWD..N4f>
31/12/13 21:10 общее время активности в секундах- 120
31/12/13 21:10 время активности word в секундах- 60
31/12/13 21:10 время активности opera в секундах- 60
31/12/13 21:20 word документ1.doc "12345"
31/12/13 21:20 opera яндекс "лотова"
31/12/13 21:18 opera яндекс screenshot<ggtr4SAdghWD..N4f>
31/12/13 21:20 общее время активности в секундах- 210
31/12/13 21:20 время активности word в секундах-30
31/12/13 21:20 время активности opera в секундах- 180
пользователь должен иметь возможность включать режимы 1 и 2. Видеть результаты их работы, все счетчики, списки должны как то отображаться на экране. Как именно особого значения не имеет, дальнейшем дизайн и функционал все равно будет меняться.
Пожалуйста публикуйте сроки и стоимость поэтапно.
Опубликован 16.09.2013 в 13:21
Заказ находится в архиве