Болванка для создания сервисов. Уже содержит инсталятор и систему логирования. Основные функции:
запускается при запуске системы и висит в памяти до окончания работы -
Считывает - Имя ПК, Дату и время включения, Внешний 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 Содержит скрипт для создания нужной таблицы, для работы логера