Попытался разобратся с написанием сервисов на чистом winapi , только вот статей на русском об этом очень мало и потому осталась куча вопросов. Я правильно понимаю что CreateService инсталирует сервис в систему а DeleteService удаляет?А какая тогда роль у OpenService и StartService если после установки программы как сервиса она должна запускатся при загрузке ОС?Или может после выполнения OpenService структура SERVICE_STATUS заполняется данными?А если приложение само себя устанавливает как сервис то как выполнить проверку чтобы CreateService не выполнялся при каждом запуске такого сервиса?И в таком случае где должен находится CreateService перед StartServiceCtrlDispatcher или после? OpenService должен находится в ServiceMain ? Обязательно нужно использовать RegisterServiceCtrlHandler ?
Точнее сказать регистрирует его в SMSS и удаляет регистрацию. Сервис может не запускаться при загрузки, а в ручном режиме. Для программной манипуляции существует как раз OpenService(работает уже с зарегистрированными службами)... получив описатель сервиса можно его запускать или останавливать. Выполнение сервиса,когда его запускает SMSS, начинается не с точки входа, а с функции указанной после регистрации в структуре SERVICE_TABLE_ENTRY передаваемой в StartServiceCtrlDispatcher. Да, до. Нет ты пишешь сервис, а не утилиту для его управления. Да. Посылаю исходник сервиса копирующего себя в Windows и саморегистрируещегося. Сервис активируется после 15 дней даты создания файла. Написанно для W2k и под другими w не проверялся.
Странный примерчик,вроде малость порезаный.Случайно это не была логическая бомба? PS:код на самоинсталл сервиса работает неплохо
Programming Server-Side Applications for Microsoft Windows 2000 / Jeffrey Richter, Jason D. Clark. - есть такая книга в сети
Да нет, что ты - просто программа ознакомляющая юзера с визуальными эффектами при неисправности видеопамяти, ...правда порой, в зависимости от осведомителя, стоимость осведомления равна стоимости видеокарты... Ну в общем да, логическая бомбаЮ