Я не могу запустить службу, созданную в C++Builder с использованием класса TService.
Я написал службу, которая ничего не делает, и я хочу ее запустить есть, но служба не запускается. Я регистрирую службу и запускаю ее в командной строке. Команда sc start MyService выполняется без ошибок, но статус службы запускается и не меняется на «работает». При запуске службы инструкция в функции ServiceStart() фиксирует ошибку:
Процессу службы не удалось подключиться к контроллеру службы
Процессу службы не удалось подключиться к контроллеру службы. p>
При запуске службы в окне «Службы» появляется ошибка:
Windows не удалось запустить службу резервного копирования папок на локальном компьютере.
Ошибка 1053: служба не ответила на сигнал запуска или управления
своевременно.
Вот мой код службы:
Unit1.cpp:
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TService1 *Service1;
//---------------------------------------------------------------------------
__fastcall TService1::TService1(TComponent* Owner): TService(Owner)
{
}
//--------------------------------------------------------------------------
void __stdcall ServiceController(unsigned CtrlCode)
{
Service1->Controller(CtrlCode);
}
//-------------------------------------------------------------------------
TServiceController __fastcall TService1::GetServiceController(void)
{
return (TServiceController) ServiceController;
}
//---------------------------------------------------------------------------
// Start serwisu
void __fastcall TService1::ServiceStart(TService *Sender, bool &Started)
{
Started = true; // Serwis uruchomiony
LogMessage("Service started successfully", EVENTLOG_ERROR_TYPE);
ReportStatus(); // Informuj system, że usługa jest gotowa
}
//----------------------------------------------------------------------------
// Główna funkcja serwisu
void __fastcall TService1::ServiceExecute(TService *Sender)
{
}
Project1.cpp:
#include
#include
#pragma hdrstop
#include
USEFORM("Unit1.cpp", Service1); /* TService: File Type */
//---------------------------------------------------------------------------
#define Application Svcmgr::Application
int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
try
{
// Windows 2003 Server requires StartServiceCtrlDispatcher to be
// called before CoRegisterClassObject, which can be called indirectly
// by Application.Initialize. TServiceApplication->DelayInitialize allows
// Application->Initialize to be called from TService->Main (after
// StartServiceCtrlDispatcher has been called).
//
// Delayed initialization of the Application object may affect
// events which then occur prior to initialization, such as
// TService->OnCreate. It is only recommended if the ServiceApplication
// registers a class object with OLE and is intended for use with
// Windows 2003 Server.
//
Application->DelayInitialize = true;
//
if ((!Application->DelayInitialize) || (Application->Installing()))
{
Application->Initialize();
}
Application->CreateForm(__classid(TService1), &Service1);
Application->Run();
}
catch (Exception &exception)
{
Sysutils::ShowException(&exception, System::ExceptAddr());
}
catch(...)
{
try
{
throw Exception("");
}
catch(Exception &exception)
{
Sysutils::ShowException(&exception, System::ExceptAddr());
}
}
return 0;
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... ws-service
Ошибка 1053 при попытке запустить службу в Службе Windows ⇐ C++
Программы на C++. Форум разработчиков
-
Anonymous
1730144236
Anonymous
Я не могу запустить службу, созданную в C++Builder с использованием класса TService.
Я написал службу, которая ничего не делает, и я хочу ее запустить есть, но служба не запускается. Я регистрирую службу и запускаю ее в командной строке. Команда sc start MyService выполняется без ошибок, но статус службы запускается и не меняется на «работает». При запуске службы инструкция в функции ServiceStart() фиксирует ошибку:
Процессу службы не удалось подключиться к контроллеру службы
Процессу службы не удалось подключиться к контроллеру службы. p>
При запуске службы в окне «Службы» появляется ошибка:
Windows не удалось запустить службу резервного копирования папок на локальном компьютере.
Ошибка 1053: служба не ответила на сигнал запуска или управления
своевременно.
Вот мой код службы:
Unit1.cpp:
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TService1 *Service1;
//---------------------------------------------------------------------------
__fastcall TService1::TService1(TComponent* Owner): TService(Owner)
{
}
//--------------------------------------------------------------------------
void __stdcall ServiceController(unsigned CtrlCode)
{
Service1->Controller(CtrlCode);
}
//-------------------------------------------------------------------------
TServiceController __fastcall TService1::GetServiceController(void)
{
return (TServiceController) ServiceController;
}
//---------------------------------------------------------------------------
// Start serwisu
void __fastcall TService1::ServiceStart(TService *Sender, bool &Started)
{
Started = true; // Serwis uruchomiony
LogMessage("Service started successfully", EVENTLOG_ERROR_TYPE);
ReportStatus(); // Informuj system, że usługa jest gotowa
}
//----------------------------------------------------------------------------
// Główna funkcja serwisu
void __fastcall TService1::ServiceExecute(TService *Sender)
{
}
Project1.cpp:
#include
#include
#pragma hdrstop
#include
USEFORM("Unit1.cpp", Service1); /* TService: File Type */
//---------------------------------------------------------------------------
#define Application Svcmgr::Application
int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
try
{
// Windows 2003 Server requires StartServiceCtrlDispatcher to be
// called before CoRegisterClassObject, which can be called indirectly
// by Application.Initialize. TServiceApplication->DelayInitialize allows
// Application->Initialize to be called from TService->Main (after
// StartServiceCtrlDispatcher has been called).
//
// Delayed initialization of the Application object may affect
// events which then occur prior to initialization, such as
// TService->OnCreate. It is only recommended if the ServiceApplication
// registers a class object with OLE and is intended for use with
// Windows 2003 Server.
//
Application->DelayInitialize = true;
//
if ((!Application->DelayInitialize) || (Application->Installing()))
{
Application->Initialize();
}
Application->CreateForm(__classid(TService1), &Service1);
Application->Run();
}
catch (Exception &exception)
{
Sysutils::ShowException(&exception, System::ExceptAddr());
}
catch(...)
{
try
{
throw Exception("");
}
catch(Exception &exception)
{
Sysutils::ShowException(&exception, System::ExceptAddr());
}
}
return 0;
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79128690/error-1053-when-trying-to-start-the-service-in-windows-service[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия