C/C++/PHP5. About Windows services

Предположим, нам необходимо воспользоваться неким скриптом, который должен циклически ожидать каких-либо внешних изменений, реагируя определенным действием в ответ. Вроде бы не сложно. Инициируем сие скрипт в системе посредством автозагрузки. Но как-то это не серьезно.
Другое дело - реализовать скрипт через службы. Далее рассматриваются службы систем win32. Скриптовая часть - php-файл, batch-файл, да что угодно. Попробуем создать службу стандартными средствами самой системы:

sc create tester start= auto binPath= c:\tester\tester.php

В базу служб будет занесена запись о новой службе tester. Попытаемся запустить ее. Ну как? Нас ждет сообщение об ошибке запуска службы. Не смотря на это в "инете" такого рода решения встречаются очень часто. Правда там же предлагают дополнительные шаманства в реестре. Вам это по-душе? 
Если немного порыться в источниках Microsoft, можно узнать, что binPath должен "смотреть" на exe-файл. Немного "покодив" можно создать прототип нашего скрипта. Но после очередного теста стало ясно, что и это не прокатывает. В чем тогда дело? А в том, что служба - непросто исполнимый файл, это нечто большее. Вот пара ссылок на то, чтобы понять суть слова - большее:

Скелет службы (service) на Visual C++
http://dobrunov.ru/2009/08/service-visual-c.html

Beginner's introductory guide to writing, installing, starting, stopping NT services
http://www.codeproject.com/Articles/1697/Beginner-s-introductory-guide-to-writing-installin

Создание своего Windows Service
http://habrahabr.ru/post/71533/

Using Services
http://msdn.microsoft.com/en-us/library/ms686953%28v=vs.85%29 

Таким образом необходимо разработать службу. Но все же как нам не терять связи с нашим изначальным скриптом. Мое решение таково: 1) при создании службы в системе, создаем дополнительную переменную окружения; 2) при запуске службы в данную переменную заносим соответствующее значение и далее запускаем сам скрипт, который циклически просматривает значение переменной окружения; 3) соответственно, остановка службы должна приводить к изменению значения данной переменной, что будет указывать скрипту на необходимость завершения своей работы.
В данном случае переменные окружения могут выступать как посредники между exe-службой и скриптовой частью. Это подобие глобальных переменных в PHP.