Создание сервиса windows

Тема в разделе "WASM.BEGINNERS", создана пользователем _nic, 4 фев 2007.

  1. _nic

    _nic New Member

    Публикаций:
    0
    Регистрация:
    4 фев 2007
    Сообщения:
    372
    Попытался разобратся с написанием сервисов на чистом winapi , только вот статей на русском об этом очень мало и потому осталась куча вопросов.
    Я правильно понимаю что CreateService инсталирует сервис в систему а DeleteService удаляет?А какая тогда роль у OpenService и StartService если после установки программы как сервиса она должна запускатся при загрузке ОС?Или может после выполнения OpenService структура SERVICE_STATUS заполняется данными?А если приложение само себя устанавливает как сервис то как выполнить проверку чтобы CreateService не выполнялся при каждом запуске такого сервиса?И в таком случае где должен находится CreateService перед StartServiceCtrlDispatcher или после? OpenService должен находится в ServiceMain ? Обязательно нужно использовать RegisterServiceCtrlHandler ?
     
  2. CodeTao

    CodeTao Евгений

    Публикаций:
    0
    Регистрация:
    31 окт 2006
    Сообщения:
    177
    Адрес:
    штаты
    Точнее сказать регистрирует его в SMSS и удаляет регистрацию.
    Сервис может не запускаться при загрузки, а в ручном режиме. Для программной манипуляции существует как раз OpenService(работает уже с зарегистрированными службами)... получив описатель сервиса можно его запускать или останавливать.
    Выполнение сервиса,когда его запускает SMSS, начинается не с точки входа, а с функции указанной после регистрации в структуре SERVICE_TABLE_ENTRY передаваемой в StartServiceCtrlDispatcher.

    Да, до. Нет ты пишешь сервис, а не утилиту для его управления. Да. Посылаю исходник сервиса копирующего себя в Windows и саморегистрируещегося. Сервис активируется после 15 дней даты создания файла. Написанно для W2k и под другими w не проверялся.
     
  3. _nic

    _nic New Member

    Публикаций:
    0
    Регистрация:
    4 фев 2007
    Сообщения:
    372
    Странный примерчик,вроде малость порезаный.Случайно это не была логическая бомба?
    PS:код на самоинсталл сервиса работает неплохо
     
  4. nermest

    nermest New Member

    Публикаций:
    0
    Регистрация:
    3 июл 2006
    Сообщения:
    157
    Programming Server-Side Applications for Microsoft Windows 2000 / Jeffrey Richter,
    Jason D. Clark.
    - есть такая книга в сети
     
  5. CodeTao

    CodeTao Евгений

    Публикаций:
    0
    Регистрация:
    31 окт 2006
    Сообщения:
    177
    Адрес:
    штаты
    Да нет, что ты - просто программа ознакомляющая юзера с визуальными эффектами при неисправности видеопамяти, ...правда порой, в зависимости от осведомителя, стоимость осведомления равна стоимости видеокарты... Ну в общем да, логическая бомбаЮ