Эта страница MSDN приводит к большему количеству документации по их созданию, чем вы могли бы потрясти. Эта страница , возможно, является лучшим введением в них в целом.
Ключевое различие между процессом, выполняющимся как приложение, и как служба заключается в том, что служба может работать полностью вне обычной связи с пользователем и сеансом. Таким образом, службы могут запускаться так, что они запускаются до входа в систему любого пользователя, и могут продолжать работать после выхода из системы. Сервисы, таким образом, используются для реализации большей части реальной функциональности операционной системы.
Службы также не привязаны к выполнению в виде отображения 1: 1 с процессом. Многие сервисы могут существовать в одном процессе, обычно с помощью svchost (посмотрите на них с помощью Process Explorer, чтобы увидеть, как это часто работает). Это сокращает усилия при запуске, поскольку для относительно легких служб несколько процессов не требуется.
Реализация службы в c # довольно проста, эта страница показывает, как в очень простых для понимания терминах.
Обратите внимание, что на самом деле служба в Windows - это немного больше, чем леса в реестре в HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services, который определяет те «пути к изображениям» (в большинстве случаев это просто исполняемые файлы и используемые параметры), которые рассматриваются службы, от которых затем запускается пользователь, от каких других служб они зависят и запускаются ли они при запуске / после запуска или по мере необходимости.