Skip to content

psionika/logOnOffService

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#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 Содержит скрипт для создания нужной таблицы, для работы логера

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published