#LogOnOff
Болванка для создания сервисов. Уже содержит инсталятор и систему логирования. Основные функции:
- запускается при запуске системы и висит в памяти до окончания работы -
- Считывает - Имя ПК, Дату и время включения, Внешний IP, учетную запись
- Отправляет эти данные на сервер MySQL
- Имеет инсталятор который используется для установки сервиса, в том числе в чистую систему (без Net Framework`a)
###Отслеживаются следующие события
- Отправка на сервер MySQL при включении
- Отправка на сервер MySQL при выключении
- Отправка на сервер MySQL при блокировке-разблокировке компьютера (Win-L к примеру или просто по таймингу)
- Отправка на сервер MySQL при уходе в спящий режим и выходе из него.
- Отправка на сервер MySQL при входе пользователя в систему и выходе из него.
###Всего возможно 9 состояний -
- Start computer - компьютер включился (вполне возможно в поле пользователь будет -No users- так как включённый компьютер не значит, что пользователь зашел и начал работу
- Shutdown - выключение компьютера
- Logon - пользователь вошел в систему
- Logoff - пользователь вышел из системы
- Lock - компьютер был заблокирован (либо вручную через Win-L, либо по времени простоя)
- Unlock - компьютер был разблокирован (пользователь ввёл пароль)
- Close manual - сервис был остановлен вручную
- Suspend - компьютер вошел в спящий режим
- 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 Содержит скрипт для создания нужной таблицы, для работы логера