как написать свой сервис в Windows NT?

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

  1. Nosferatu

    Nosferatu New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2007
    Сообщения:
    2
    Код (Text):
    1. char servdir[MAX_PATH];
    2.  LPCTSTR pat="%SystemRoot%\\system32\\service.exe";
    3. SC_HANDLE scm =OpenSCManager(NULL,NULL,SC_MANAGER_CREATE_SERVICE);
    4. SC_HANDLE svc=CreateService(scm,
    5.                             "service",
    6.                             "service",
    7.                             SERVICE_ALL_ACCESS,
    8.                             SERVICE_WIN32_OWN_PROCESS|
    9.                             SERVICE_INTERACTIVE_PROCESS ,
    10.                             SERVICE_AUTO_START,
    11.                             SERVICE_ERROR_IGNORE,
    12.                             pat,
    13.                             NULL,
    14.                             NULL,
    15.                             NULL,
    16.                             NULL,
    17.                             NULL);
    18. CloseServiceHandle(svc);
    19. CloseServiceHandle(scm);
    Сервис вроде бы успешно создается но при попытке запуска появляеться ошибка 1053,объясните в чем причина?
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    а че за service.exe?
     
  3. Nosferatu

    Nosferatu New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2007
    Сообщения:
    2
    исполняемый exe файл.Его мне и нужно представить как сервис.
     
  4. maxdiver

    maxdiver Max

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    308
    Адрес:
    Саратов
    Вообще-то 1053=ERROR_SERVICE_REQUEST_TIMEOUT.
    По-видимому, менеджер сервисов ожидает от твоей программы какого-то ответа. Судя по MSDN, с помощью RegisterServiceCtrlHandler ты должен установить свой обработчик, и тогда менеджер поймет, что твой сервис запустился нормально.
     
  5. slow

    slow New Member

    Публикаций:
    0
    Регистрация:
    27 дек 2004
    Сообщения:
    615
    Nosferatu Чтобы запустить любой exe файл как сервис, необходима программа типа RunAny или стандартная виндовая services(?)
     
  6. James

    James New Member

    Публикаций:
    0
    Регистрация:
    18 апр 2007
    Сообщения:
    6
    slow
    SRVANY