Skip to content

Latest commit

 

History

History
61 lines (41 loc) · 2.86 KB

readme.md

File metadata and controls

61 lines (41 loc) · 2.86 KB

#LogOnOff

Болванка для создания сервисов. Уже содержит инсталятор и систему логирования. Основные функции:

  • запускается при запуске системы и висит в памяти до окончания работы -
  • Считывает - Имя ПК, Дату и время включения, Внешний IP, учетную запись
  • Отправляет эти данные на сервер MySQL
  • Имеет инсталятор который используется для установки сервиса, в том числе в чистую систему (без Net Framework`a)

###Отслеживаются следующие события

  • Отправка на сервер MySQL при включении
  • Отправка на сервер MySQL при выключении
  • Отправка на сервер MySQL при блокировке-разблокировке компьютера (Win-L к примеру или просто по таймингу)
  • Отправка на сервер MySQL при уходе в спящий режим и выходе из него.
  • Отправка на сервер MySQL при входе пользователя в систему и выходе из него.

###Всего возможно 9 состояний -

  1. Start computer - компьютер включился (вполне возможно в поле пользователь будет -No users- так как включённый компьютер не значит, что пользователь зашел и начал работу
  2. Shutdown - выключение компьютера
  3. Logon - пользователь вошел в систему
  4. Logoff - пользователь вышел из системы
  5. Lock - компьютер был заблокирован (либо вручную через Win-L, либо по времени простоя)
  6. Unlock - компьютер был разблокирован (пользователь ввёл пароль)
  7. Close manual - сервис был остановлен вручную
  8. Suspend - компьютер вошел в спящий режим
  9. Resume - компьютер вышел из спящего режима

Сервис разрабатывался в Visual Studio 2015 Community Edition. Дополнительные библиотеки - NLog (логирование). MySQL ,Net connector - для отправки данных на сервер MySQL. Для получения публичного адреса используется запрос к серверу http://yandex.ru/internet поэтому нужно, чтобы компьютер имел к нему доступ.

Инсталлятор сделан с помощью Inno Setup.

(установщик требует прав администратора)

(При установке если на компьютере не установлен Net Framework 4 Client Profile (к примеру выключены обновления или только что установленная система), то инсталлер автоматически скачивает и устанавливает его с сайта Microsoft.)

(Ставится в папку Application Data для всех пользователей - по умолчанию Если windows 8-10 C:\Users\All Users\Обновление
Если 7 C:\ProgramData\Обновление Если XP C:\Documents and Settings\All Users\Application Data\Обновление)

(по умолчанию в файле settings.xml прописаны тестовые данные, чтобы были рабочие нужно пересоздать дистрибутив, или каждый раз переписывать)

Файл settings.xml (в одной папке с программой) Прописывается 4 параметра - вместо INPUTHERE РЕКОМЕНДУЮ ЭТИ ПАРАМЕТРЫ СДЕЛАТЬ ЗАРАНЕЕ И ПЕРЕСОЗДАТЬ ДИСТРИБУТИВ ЧЕРЕЗ InnoSetup

Время работы Две функции – checkTIme.On() и checkTime.Off. При выполнении отправки информации в БД, проверяется текущее время и если не соответствует, то на сервер информация не отправляется (но в локальный лог пишется, что текущее время не проверяется)

Папка SQL Содержит скрипт для создания нужной таблицы, для работы логера